voc.h 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  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 "riff.h" /* for CodecTag */
  25. typedef struct voc_dec_context {
  26. int64_t remaining_size;
  27. } VocDecContext;
  28. typedef enum voc_type {
  29. VOC_TYPE_EOF = 0x00,
  30. VOC_TYPE_VOICE_DATA = 0x01,
  31. VOC_TYPE_VOICE_DATA_CONT = 0x02,
  32. VOC_TYPE_SILENCE = 0x03,
  33. VOC_TYPE_MARKER = 0x04,
  34. VOC_TYPE_ASCII = 0x05,
  35. VOC_TYPE_REPETITION_START = 0x06,
  36. VOC_TYPE_REPETITION_END = 0x07,
  37. VOC_TYPE_EXTENDED = 0x08,
  38. VOC_TYPE_NEW_VOICE_DATA = 0x09,
  39. } VocType;
  40. extern const unsigned char ff_voc_magic[21];
  41. extern const AVCodecTag ff_voc_codec_tags[];
  42. int voc_get_packet(AVFormatContext *s, AVPacket *pkt,
  43. AVStream *st, int max_size);
  44. #endif /* AVFORMAT_VOC_H */