[FFmpeg-cvslog] gsmdec: add flush function to reset the decoder state when seeking
Justin Ruggles
git at videolan.org
Thu Nov 3 02:23:10 CET 2011
ffmpeg | branch: master | Justin Ruggles <justin.ruggles at gmail.com> | Fri Oct 28 10:07:41 2011 -0400| [fc43fc9faa6edc3c8df76cfa51510a98958563e6] | committer: Justin Ruggles
gsmdec: add flush function to reset the decoder state when seeking
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=fc43fc9faa6edc3c8df76cfa51510a98958563e6
---
libavcodec/gsmdec.c | 8 ++++++++
1 files changed, 8 insertions(+), 0 deletions(-)
diff --git a/libavcodec/gsmdec.c b/libavcodec/gsmdec.c
index 26340c2..77c22e5 100644
--- a/libavcodec/gsmdec.c
+++ b/libavcodec/gsmdec.c
@@ -87,6 +87,12 @@ static int gsm_decode_frame(AVCodecContext *avctx, void *data,
return avctx->block_align;
}
+static void gsm_flush(AVCodecContext *avctx)
+{
+ GSMContext *s = avctx->priv_data;
+ memset(s, 0, sizeof(*s));
+}
+
AVCodec ff_gsm_decoder = {
.name = "gsm",
.type = AVMEDIA_TYPE_AUDIO,
@@ -94,6 +100,7 @@ AVCodec ff_gsm_decoder = {
.priv_data_size = sizeof(GSMContext),
.init = gsm_init,
.decode = gsm_decode_frame,
+ .flush = gsm_flush,
.long_name = NULL_IF_CONFIG_SMALL("GSM"),
};
@@ -104,5 +111,6 @@ AVCodec ff_gsm_ms_decoder = {
.priv_data_size = sizeof(GSMContext),
.init = gsm_init,
.decode = gsm_decode_frame,
+ .flush = gsm_flush,
.long_name = NULL_IF_CONFIG_SMALL("GSM Microsoft variant"),
};
More information about the ffmpeg-cvslog
mailing list