voc.h 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. /*
  2. * Creative Voice File demuxer.
  3. * Copyright (c) 2006 Aurelien Jacobs <aurel@gnuage.org>
  4. *
  5. * This file is part of FFmpeg.
  6. *
  7. * FFmpeg is free software; you can redistribute it and/or
  8. * modify it under the terms of the GNU Lesser General Public
  9. * License as published by the Free Software Foundation; either
  10. * version 2.1 of the License, or (at your option) any later version.
  11. *
  12. * FFmpeg is distributed in the hope that it will be useful,
  13. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  14. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  15. * Lesser General Public License for more details.
  16. *
  17. * You should have received a copy of the GNU Lesser General Public
  18. * License along with FFmpeg; if not, write to the Free Software
  19. * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  20. */
  21. #ifndef AVFORMAT_VOC_H
  22. #define AVFORMAT_VOC_H
  23. #include "avformat.h"
  24. #include "internal.h"
  25. typedef struct voc_dec_context {
  26. int64_t remaining_size;
  27. int64_t pts;
  28. } VocDecContext;
  29. typedef enum voc_type {
  30. VOC_TYPE_EOF = 0x00,
  31. VOC_TYPE_VOICE_DATA = 0x01,
  32. VOC_TYPE_VOICE_DATA_CONT = 0x02,
  33. VOC_TYPE_SILENCE = 0x03,
  34. VOC_TYPE_MARKER = 0x04,
  35. VOC_TYPE_ASCII = 0x05,
  36. VOC_TYPE_REPETITION_START = 0x06,
  37. VOC_TYPE_REPETITION_END = 0x07,
  38. VOC_TYPE_EXTENDED = 0x08,
  39. VOC_TYPE_NEW_VOICE_DATA = 0x09,
  40. } VocType;
  41. extern const unsigned char ff_voc_magic[21];
  42. extern const AVCodecTag ff_voc_codec_tags[];
  43. int ff_voc_get_packet(AVFormatContext *s, AVPacket *pkt,
  44. AVStream *st, int max_size);
  45. #endif /* AVFORMAT_VOC_H */