diff -Nru gst-fluendo-mp3-0.10.29.debian/debian/changelog gst-fluendo-mp3-0.10.29.debian/debian/changelog --- gst-fluendo-mp3-0.10.29.debian/debian/changelog 2014-06-25 16:50:17.000000000 +0000 +++ gst-fluendo-mp3-0.10.29.debian/debian/changelog 2014-08-18 16:56:42.000000000 +0000 @@ -1,3 +1,11 @@ +gst-fluendo-mp3 (0.10.29.debian-1ubuntu1) utopic; urgency=medium + + * debian/patches/workaround_decode_with_bad_frames_after_seek.patch: + - Restoring previous (< 0.10.24) behavior when handling a bad frame after + seeking, until upstream bug is properly fixed. (LP: #1346821) + + -- Ricardo Salveti de Araujo Mon, 18 Aug 2014 13:55:18 -0300 + gst-fluendo-mp3 (0.10.29.debian-1) unstable; urgency=medium * Don't Build-Depend on liboil-dev any more - this is no longer used. diff -Nru gst-fluendo-mp3-0.10.29.debian/debian/patches/series gst-fluendo-mp3-0.10.29.debian/debian/patches/series --- gst-fluendo-mp3-0.10.29.debian/debian/patches/series 1970-01-01 00:00:00.000000000 +0000 +++ gst-fluendo-mp3-0.10.29.debian/debian/patches/series 2014-08-18 16:54:19.000000000 +0000 @@ -0,0 +1 @@ +workaround_decode_with_bad_frames_after_seek.patch diff -Nru gst-fluendo-mp3-0.10.29.debian/debian/patches/workaround_decode_with_bad_frames_after_seek.patch gst-fluendo-mp3-0.10.29.debian/debian/patches/workaround_decode_with_bad_frames_after_seek.patch --- gst-fluendo-mp3-0.10.29.debian/debian/patches/workaround_decode_with_bad_frames_after_seek.patch 1970-01-01 00:00:00.000000000 +0000 +++ gst-fluendo-mp3-0.10.29.debian/debian/patches/workaround_decode_with_bad_frames_after_seek.patch 2014-08-18 16:55:07.000000000 +0000 @@ -0,0 +1,31 @@ +Until 0.10.24, the bad frame path when seeking was actually never +executed, so it was always trying to decode that frame. + +As a side effect, when we seek via media-hub, we quite easily get +a bad frame, so restoring previous behavior until upstream bug is +properly fixed. + +Index: gst-fluendo-mp3-0.10.29.debian/src/mp3-c.c +=================================================================== +--- gst-fluendo-mp3-0.10.29.debian.orig/src/mp3-c.c ++++ gst-fluendo-mp3-0.10.29.debian/src/mp3-c.c +@@ -1655,12 +1655,19 @@ c_decode_mp3 (mp3tl * tl) + + /* Check that we have enough main_data between the bit reservoir + * and the incoming data */ ++ /* This code path is broken and causes pipeline to end up consuming ++ * tons of extra memory. This path got valid with r2524. ++ * Temporarily disabling it on Ubuntu as it causes bug LP #1346821. ++ * Upstream bug reflected at LP: #1358368 and fluendo support channel ++ * ticket number 251 */ ++#if 0 + diff = tl->c_impl.main_data_end - III_side_info.main_data_begin; + if (diff < 0) { + /* Usually happens after a seek. We can't decode this frame */ + GST_LOG ("Not enough main data available to decode frame"); + return MP3TL_ERR_BAD_FRAME; + } ++#endif + + /* Copy the remaining main data in the bit reservoir to the start of the + * huffman bit buffer, and then append the incoming bytes */