From d17d6d74beeb8c4fd4c804d1f0b1951f3bdd06ff Mon Sep 17 00:00:00 2001 From: Mark Nauwelaerts Date: Mon, 13 Jun 2011 17:05:19 +0200 Subject: [PATCH] audioparsers: not so greedy minimum frame size ... which will be determined by parsing anyway, and avoids introducing redundant additional latency. --- gst/audioparsers/gstac3parse.c | 2 +- gst/audioparsers/gstmpegaudioparse.c | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/gst/audioparsers/gstac3parse.c b/gst/audioparsers/gstac3parse.c index ee22e3db74..663ab31a19 100644 --- a/gst/audioparsers/gstac3parse.c +++ b/gst/audioparsers/gstac3parse.c @@ -210,7 +210,7 @@ gst_ac3_parse_reset (GstAc3Parse * ac3parse) static void gst_ac3_parse_init (GstAc3Parse * ac3parse, GstAc3ParseClass * klass) { - gst_base_parse_set_min_frame_size (GST_BASE_PARSE (ac3parse), 64 * 2); + gst_base_parse_set_min_frame_size (GST_BASE_PARSE (ac3parse), 6); gst_ac3_parse_reset (ac3parse); } diff --git a/gst/audioparsers/gstmpegaudioparse.c b/gst/audioparsers/gstmpegaudioparse.c index 0c55704a91..94a8993fa7 100644 --- a/gst/audioparsers/gstmpegaudioparse.c +++ b/gst/audioparsers/gstmpegaudioparse.c @@ -68,6 +68,8 @@ GST_DEBUG_CATEGORY_STATIC (mpeg_audio_parse_debug); #define XING_TOC_FLAG 0x0004 #define XING_VBR_SCALE_FLAG 0x0008 +#define MIN_FRAME_SIZE 6 + static GstStaticPadTemplate src_template = GST_STATIC_PAD_TEMPLATE ("src", GST_PAD_SRC, GST_PAD_ALWAYS, @@ -237,7 +239,7 @@ gst_mpeg_audio_parse_start (GstBaseParse * parse) { GstMpegAudioParse *mp3parse = GST_MPEG_AUDIO_PARSE (parse); - gst_base_parse_set_min_frame_size (GST_BASE_PARSE (mp3parse), 1024); + gst_base_parse_set_min_frame_size (GST_BASE_PARSE (mp3parse), MIN_FRAME_SIZE); GST_DEBUG_OBJECT (parse, "starting"); gst_mpeg_audio_parse_reset (mp3parse); @@ -554,6 +556,9 @@ gst_mpeg_audio_parse_check_valid_frame (GstBaseParse * parse, return FALSE; } + /* restore default minimum */ + gst_base_parse_set_min_frame_size (parse, MIN_FRAME_SIZE); + *framesize = bpf; return TRUE; }