[gst-cvs] gst-plugins-bad: aacparse: Refactor check_valid_frame to expose broken code
René Stadler
cymacs at kemper.freedesktop.org
Mon Mar 23 12:01:34 PDT 2009
Module: gst-plugins-bad
Branch: master
Commit: 3f90e6ff137d3e6e952b6c1550bd8a535d7fc391
URL: http://cgit.freedesktop.org/gstreamer/gst-plugins-bad/commit/?id=3f90e6ff137d3e6e952b6c1550bd8a535d7fc391
Author: René Stadler <mail at renestadler.de>
Date: Thu Mar 19 00:32:40 2009 +0200
aacparse: Refactor check_valid_frame to expose broken code
Just moving code around and removing an unhelpful/misleading comment.
---
gst/aacparse/gstaacparse.c | 28 ++++++++++++++++++++--------
1 files changed, 20 insertions(+), 8 deletions(-)
diff --git a/gst/aacparse/gstaacparse.c b/gst/aacparse/gstaacparse.c
index fdbcfb5..526e1c9 100644
--- a/gst/aacparse/gstaacparse.c
+++ b/gst/aacparse/gstaacparse.c
@@ -585,7 +585,6 @@ gst_aacparse_check_valid_frame (GstBaseParse * parse,
{
const guint8 *data;
GstAacParse *aacparse;
- guint needed_data = 1024;
gboolean ret = FALSE;
aacparse = GST_AACPARSE (parse);
@@ -601,22 +600,35 @@ gst_aacparse_check_valid_frame (GstBaseParse * parse,
/* There is nothing to parse */
*framesize = GST_BUFFER_SIZE (buffer);
ret = TRUE;
- }
- else if (aacparse->header_type == DSPAAC_HEADER_NOT_PARSED ||
+ } else if (aacparse->header_type == DSPAAC_HEADER_NOT_PARSED ||
aacparse->sync == FALSE) {
+
ret = gst_aacparse_detect_stream (aacparse, data, GST_BUFFER_SIZE (buffer),
framesize, skipsize);
+
+ if (!ret) {
+ GST_DEBUG ("buffer didn't contain valid frame, skip = %d", *skipsize);
+ gst_base_parse_set_min_frame_size (GST_BASE_PARSE (aacparse), 1024);
+ }
+
} else if (aacparse->header_type == DSPAAC_HEADER_ADTS) {
+ guint needed_data = 1024;
+
ret = gst_aacparse_check_adts_frame (aacparse, data,
GST_BUFFER_SIZE (buffer), framesize, &needed_data);
- }
- if (!ret) {
- /* Increase the block size, we want to find the header by ourselves */
- GST_DEBUG ("buffer didn't contain valid frame, skip = %d", *skipsize);
- gst_base_parse_set_min_frame_size (GST_BASE_PARSE (aacparse), needed_data);
+ if (!ret) {
+ GST_DEBUG ("buffer didn't contain valid frame");
+ gst_base_parse_set_min_frame_size (GST_BASE_PARSE (aacparse),
+ needed_data);
+ }
+
+ } else {
+ GST_DEBUG ("buffer didn't contain valid frame");
+ gst_base_parse_set_min_frame_size (GST_BASE_PARSE (aacparse), 1024);
}
+
return ret;
}
More information about the Gstreamer-commits
mailing list