summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>2011-06-13 17:05:19 +0200
committerMark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>2011-06-13 17:06:37 +0200
commitd17d6d74beeb8c4fd4c804d1f0b1951f3bdd06ff (patch)
tree89f3a2c89bba027248f85b975081e34010cf62c1
parent4f15c9e30e03f7ed39744c3b02e001727a5ba29e (diff)
audioparsers: not so greedy minimum frame size
... which will be determined by parsing anyway, and avoids introducing redundant additional latency.
-rw-r--r--gst/audioparsers/gstac3parse.c2
-rw-r--r--gst/audioparsers/gstmpegaudioparse.c7
2 files changed, 7 insertions, 2 deletions
diff --git a/gst/audioparsers/gstac3parse.c b/gst/audioparsers/gstac3parse.c
index ee22e3db7..663ab31a1 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 0c55704a9..94a8993fa 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;
}