diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2012-02-21 02:49:41 +0100 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2012-02-21 05:10:12 +0100 |
commit | eadd4264ee4319abf9ec2f618ff925d7529f20ed (patch) | |
tree | 4251d4eb25af927cb290e24d1b6957d584638403 /libavcodec/gsm_parser.c | |
parent | a923b6b8f4f90d09c7c39cc8bfab7ee9d30a2843 (diff) | |
parent | 770a5c6d025e9c8eb3f5aba9cf1d7d7938fb918a (diff) | |
download | ffmpeg-eadd4264ee4319abf9ec2f618ff925d7529f20ed.tar.gz |
Merge remote-tracking branch 'qatar/master'
* qatar/master: (36 commits)
adpcmenc: Use correct frame_size for Yamaha ADPCM.
avcodec: add ff_samples_to_time_base() convenience function to internal.h
adx parser: set duration
mlp parser: set duration instead of frame_size
gsm parser: set duration
mpegaudio parser: set duration instead of frame_size
(e)ac3 parser: set duration instead of frame_size
flac parser: set duration instead of frame_size
avcodec: add duration field to AVCodecParserContext
avutil: add av_rescale_q_rnd() to allow different rounding
pnmdec: remove useless .pix_fmts
libmp3lame: support float and s32 sample formats
libmp3lame: renaming, rearrangement, alignment, and comments
libmp3lame: use the LAME default bit rate
libmp3lame: use avpriv_mpegaudio_decode_header() for output frame parsing
libmp3lame: cosmetics: remove some pointless comments
libmp3lame: convert some debugging code to av_dlog()
libmp3lame: remove outdated comment.
libmp3lame: do not set coded_frame->key_frame.
libmp3lame: improve error handling in MP3lame_encode_init()
...
Conflicts:
doc/APIchanges
libavcodec/libmp3lame.c
libavcodec/pcxenc.c
libavcodec/pnmdec.c
libavcodec/pnmenc.c
libavcodec/sgienc.c
libavcodec/utils.c
libavformat/hls.c
libavutil/avutil.h
libswscale/x86/swscale_mmx.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec/gsm_parser.c')
-rw-r--r-- | libavcodec/gsm_parser.c | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/libavcodec/gsm_parser.c b/libavcodec/gsm_parser.c index a2965d3fb5..89afe80ef0 100644 --- a/libavcodec/gsm_parser.c +++ b/libavcodec/gsm_parser.c @@ -31,6 +31,7 @@ typedef struct GSMParseContext { ParseContext pc; int block_size; + int duration; int remaining; } GSMParseContext; @@ -44,8 +45,14 @@ static int gsm_parse(AVCodecParserContext *s1, AVCodecContext *avctx, if (!s->block_size) { switch (avctx->codec_id) { - case CODEC_ID_GSM: s->block_size = GSM_BLOCK_SIZE; break; - case CODEC_ID_GSM_MS: s->block_size = GSM_MS_BLOCK_SIZE; break; + case CODEC_ID_GSM: + s->block_size = GSM_BLOCK_SIZE; + s->duration = GSM_FRAME_SIZE; + break; + case CODEC_ID_GSM_MS: + s->block_size = GSM_MS_BLOCK_SIZE; + s->duration = GSM_FRAME_SIZE * 2; + break; default: return AVERROR(EINVAL); } @@ -66,6 +73,9 @@ static int gsm_parse(AVCodecParserContext *s1, AVCodecContext *avctx, *poutbuf_size = 0; return buf_size; } + + s1->duration = s->duration; + *poutbuf = buf; *poutbuf_size = buf_size; return next; |