[gst-cvs] gst-plugins-base: vorbisdec: don' t put invalid bitrate values into the taglist
Tim Mueller
tpm at kemper.freedesktop.org
Wed Jun 3 12:50:06 PDT 2009
Module: gst-plugins-base
Branch: master
Commit: 20fb58be198e7d76ece4e6c635cda7c919fad6d2
URL: http://cgit.freedesktop.org/gstreamer/gst-plugins-base/commit/?id=20fb58be198e7d76ece4e6c635cda7c919fad6d2
Author: Tim-Philipp Müller <tim.muller at collabora.co.uk>
Date: Wed Jun 3 20:42:39 2009 +0100
vorbisdec: don't put invalid bitrate values into the taglist
Bitrates are stored as 32-bit signed integers in the vorbis
identification headers, but seem to be read incorrectly,
namely as unsigned 32-bit integers, into the vorbis structure
members which are of type long, which makes our check for
values <= 0 fail with files that put -1 in there for unset
values.
---
ext/vorbis/vorbisdec.c | 6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/ext/vorbis/vorbisdec.c b/ext/vorbis/vorbisdec.c
index 1885be0..c5517bb 100644
--- a/ext/vorbis/vorbisdec.c
+++ b/ext/vorbis/vorbisdec.c
@@ -721,18 +721,18 @@ vorbis_handle_comment_packet (GstVorbisDec * vd, ogg_packet * packet)
gst_tag_list_add (vd->taglist, GST_TAG_MERGE_REPLACE,
GST_TAG_ENCODER_VERSION, vd->vi.version,
GST_TAG_AUDIO_CODEC, "Vorbis", NULL);
- if (vd->vi.bitrate_nominal > 0) {
+ if (vd->vi.bitrate_nominal > 0 && vd->vi.bitrate_nominal <= 0x7FFFFFFF) {
gst_tag_list_add (vd->taglist, GST_TAG_MERGE_REPLACE,
GST_TAG_NOMINAL_BITRATE, (guint) vd->vi.bitrate_nominal, NULL);
bitrate = vd->vi.bitrate_nominal;
}
- if (vd->vi.bitrate_upper > 0) {
+ if (vd->vi.bitrate_upper > 0 && vd->vi.bitrate_upper <= 0x7FFFFFFF) {
gst_tag_list_add (vd->taglist, GST_TAG_MERGE_REPLACE,
GST_TAG_MAXIMUM_BITRATE, (guint) vd->vi.bitrate_upper, NULL);
if (!bitrate)
bitrate = vd->vi.bitrate_upper;
}
- if (vd->vi.bitrate_lower > 0) {
+ if (vd->vi.bitrate_lower > 0 && vd->vi.bitrate_lower <= 0x7FFFFFFF) {
gst_tag_list_add (vd->taglist, GST_TAG_MERGE_REPLACE,
GST_TAG_MINIMUM_BITRATE, (guint) vd->vi.bitrate_lower, NULL);
if (!bitrate)
More information about the Gstreamer-commits
mailing list