mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-27 04:01:08 +00:00
aiffparse: bail out early when bytes per sample is not set
This should always be set for valid files when we get there, and checking this avoids having ad hoc checks further down in several places. Coverity 1139698
This commit is contained in:
parent
db887f05ca
commit
174fc1015e
1 changed files with 7 additions and 1 deletions
|
@ -1247,6 +1247,12 @@ gst_aiff_parse_stream_data (GstAiffParse * aiff)
|
||||||
GstClockTime timestamp, next_timestamp, duration;
|
GstClockTime timestamp, next_timestamp, duration;
|
||||||
guint64 pos, nextpos;
|
guint64 pos, nextpos;
|
||||||
|
|
||||||
|
if (aiff->bytes_per_sample <= 0) {
|
||||||
|
GST_ELEMENT_ERROR (aiff, STREAM, WRONG_TYPE, (NULL),
|
||||||
|
("File is not a valid AIFF file (invalid bytes per sample)"));
|
||||||
|
return GST_FLOW_ERROR;
|
||||||
|
}
|
||||||
|
|
||||||
iterate_adapter:
|
iterate_adapter:
|
||||||
GST_LOG_OBJECT (aiff,
|
GST_LOG_OBJECT (aiff,
|
||||||
"offset: %" G_GINT64_FORMAT " , end: %" G_GINT64_FORMAT " , dataleft: %"
|
"offset: %" G_GINT64_FORMAT " , end: %" G_GINT64_FORMAT " , dataleft: %"
|
||||||
|
@ -1262,7 +1268,7 @@ iterate_adapter:
|
||||||
MIN (gst_guint64_to_gdouble (aiff->dataleft),
|
MIN (gst_guint64_to_gdouble (aiff->dataleft),
|
||||||
aiff->max_buf_size * ABS (aiff->segment.rate));
|
aiff->max_buf_size * ABS (aiff->segment.rate));
|
||||||
|
|
||||||
if (desired >= aiff->bytes_per_sample && aiff->bytes_per_sample > 0)
|
if (desired >= aiff->bytes_per_sample)
|
||||||
desired -= (desired % aiff->bytes_per_sample);
|
desired -= (desired % aiff->bytes_per_sample);
|
||||||
|
|
||||||
GST_LOG_OBJECT (aiff, "Fetching %" G_GINT64_FORMAT " bytes of data "
|
GST_LOG_OBJECT (aiff, "Fetching %" G_GINT64_FORMAT " bytes of data "
|
||||||
|
|
Loading…
Reference in a new issue