ext/flac/gstflactag.c: strip ending framing bit from vorbiscomment buffer since libflac doesn't expect it (reports a ...

Original commit message from CVS:
2004-06-01  Christophe Fergeau  <teuf@gnome.org>

* ext/flac/gstflactag.c: strip ending framing bit from vorbiscomment
buffer since libflac doesn't expect it (reports a sync error when
it encounters that)
This commit is contained in:
Christophe Fergeau 2004-06-01 20:23:12 +00:00
parent 39aeaa3632
commit a6b8686ecb
2 changed files with 20 additions and 0 deletions

View file

@ -1,3 +1,10 @@
2004-06-01 Christophe Fergeau <teuf@gnome.org>
* ext/flac/gstflactag.c: strip ending framing bit from vorbiscomment
buffer since libflac doesn't expect it (reports a sync error when
it encounters that)
2004-06-01 Owen Fraser-Green <owen@discobabe.net>
* gst-libs/gst/mixer/mixertrack.h: Changed struct syntax
@ -10,6 +17,7 @@
* gst-libs/gst/mixer/mixer.h: Changed GstMixerClass syntax
* gst-libs/gst/mixer/mixer.c: Fixed comment
2004-06-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
* ext/alsa/gstalsa.c: (gst_alsa_open_audio):

View file

@ -518,6 +518,18 @@ gst_flac_tag_chain (GstPad * pad, GstData * data)
("Vorbis comment of size %d too long", size));
return;
}
/* Get rid of the framing bit at the end of the vorbiscomment buffer
* if it exists since libFLAC seems to lose sync because of this
* bit in gstflacdec
*/
if (GST_BUFFER_DATA (buffer)[GST_BUFFER_SIZE (buffer) - 1] == 1) {
GstBuffer *sub;
sub = gst_buffer_create_sub (buffer, 0, GST_BUFFER_SIZE (buffer) - 1);
gst_buffer_unref (buffer);
buffer = sub;
}
}
/* The 4 byte metadata block header isn't accounted for in the total