Mercurial > audlegacy-plugins
view src/alac/demux.h @ 980:6ba4a4bfd127 trunk
[svn] - fix overflow when calculates bitrate with non-fast scan on a huge sized file.
- make file info dialog always do non-fast scan. user can easily add TLEN tag of correct play time length to a VBR encoded file which does not go along with fast scan.
- tweak debug output.
author | yaz |
---|---|
date | Thu, 26 Apr 2007 02:06:12 -0700 |
parents | 74df3bd6f472 |
children |
line wrap: on
line source
#ifndef DEMUX_H #define DEMUX_H #include "config.h" #if HAVE_STDINT_H # include <stdint.h> #else # if HAVE_INTTYPES_H # include <inttypes.h> # endif #endif #include "decomp.h" #include "stream.h" typedef uint32_t fourcc_t; typedef struct { stream_t *stream; alac_file *alac; int format_read; uint16_t num_channels; uint16_t sample_size; uint32_t sample_rate; fourcc_t format; void *buf; struct { char *art; char *nam; char *alb; char *day; char *cmt; char *des; char *gen; } tuple; struct { uint32_t sample_count; uint32_t sample_duration; } *time_to_sample; uint32_t num_time_to_samples; uint32_t *sample_byte_size; uint32_t num_sample_byte_sizes; uint32_t codecdata_len; void *codecdata; uint32_t mdat_len; #if 0 void *mdat; #endif } demux_res_t; int qtmovie_read(stream_t *stream, demux_res_t *demux_res); #ifndef MAKEFOURCC #define MAKEFOURCC(ch0, ch1, ch2, ch3) ( \ ( (int32_t)(char)(ch0) << 24 ) | \ ( (int32_t)(char)(ch1) << 16 ) | \ ( (int32_t)(char)(ch2) << 8 ) | \ ( (int32_t)(char)(ch3) ) ) #endif #ifndef SLPITFOURCC /* splits it into ch0, ch1, ch2, ch3 - use for printf's */ #define SPLITFOURCC(code) \ (char)((int32_t)code >> 24), \ (char)((int32_t)code >> 16), \ (char)((int32_t)code >> 8), \ (char)code #endif #endif /* DEMUX_H */