summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGuillaume Marquebielle <guillaume.marquebielle@parrot.com>2015-09-25 10:01:37 +0200
committerJan Schmidt <jan@centricular.com>2015-09-26 22:20:12 +1000
commitc5110bb839d98a82d87f68071f44669df3f9e3f4 (patch)
tree32029b2d1c0f9aeeeb4253b35e489a4c0e30d748
parentb1238ce0e40707e6a08c83145ff348a578fed1e2 (diff)
downloadgstreamer-plugins-good-c5110bb839d98a82d87f68071f44669df3f9e3f4.tar.gz
aacparse: fix uninitialized variables in LOAS config reading
On reading LOAS config, flag v=1 and vA=1 combination can occur, leading to warning "Spec says "TBD"...". Returning TRUE on this case while parameters 'sample_rate' and 'channels' are pointing to uninitialized values can end on setting random values as rate and channels on src caps. https://bugzilla.gnome.org/show_bug.cgi?id=755611
-rw-r--r--gst/audioparsers/gstaacparse.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/gst/audioparsers/gstaacparse.c b/gst/audioparsers/gstaacparse.c
index b1afc8147..cd75b7f53 100644
--- a/gst/audioparsers/gstaacparse.c
+++ b/gst/audioparsers/gstaacparse.c
@@ -655,6 +655,7 @@ gst_aac_parse_read_loas_config (GstAacParse * aacparse, const guint8 * data,
GST_LOG_OBJECT (aacparse, "More data ignored");
} else {
GST_WARNING_OBJECT (aacparse, "Spec says \"TBD\"...");
+ return FALSE;
}
return TRUE;
}
@@ -870,7 +871,7 @@ gst_aac_parse_detect_stream (GstAacParse * aacparse,
if (gst_aac_parse_check_loas_frame (aacparse, data, avail, drain,
framesize, &need_data_loas)) {
- gint rate, channels;
+ gint rate = 0, channels = 0;
GST_INFO ("LOAS, framesize: %d", *framesize);
@@ -1212,7 +1213,7 @@ gst_aac_parse_handle_frame (GstBaseParse * parse,
gboolean lost_sync;
GstBuffer *buffer;
guint framesize;
- gint rate, channels;
+ gint rate = 0, channels = 0;
aacparse = GST_AAC_PARSE (parse);
buffer = frame->buffer;