diff options
author | Guillaume Marquebielle <guillaume.marquebielle@parrot.com> | 2015-09-25 10:01:37 +0200 |
---|---|---|
committer | Jan Schmidt <jan@centricular.com> | 2015-09-26 22:20:12 +1000 |
commit | c5110bb839d98a82d87f68071f44669df3f9e3f4 (patch) | |
tree | 32029b2d1c0f9aeeeb4253b35e489a4c0e30d748 | |
parent | b1238ce0e40707e6a08c83145ff348a578fed1e2 (diff) | |
download | gstreamer-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.c | 5 |
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; |