Seeking is broken with media-hub on versions 0.10.24 and above

Bug #1358368 reported by Jim Hodapp on 2014-08-18
12
This bug affects 2 people
Affects Status Importance Assigned to Milestone
gst-fluendo-mp3 (Ubuntu)
High
Unassigned

Bug Description

Starting in version 0.10.24, the change to line 1656 of mp3-c.c causes seeking to break when used with media-hub (most likely a timing issue):

  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;
  }

Previously in version 0.10.23 and prior, this block inside the if statement was never executed:

  if (tl->c_impl.main_data_end - III_side_info.main_data_begin < 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;
  }

This needs reworking so that when this does happen after a seek, this code recovers gracefully instead of causing a pipeline flow error resulting in an EOS.

Changed in gst-fluendo-mp3 (Ubuntu):
status: New → Confirmed
importance: Undecided → High
dolphy (julien-fluendo) wrote :

A simple fix would be :

--- /tmp/meld-tmp15YRFE
+++ /home/dolphy/oneplay-build/sources-devel/linux_x86_64/gst-fluendo-mp3-19/src/mp3-c.c
@@ -1659,7 +1659,7 @@
   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;
+ return MP3TL_ERR_NEED_DATA;
   }

   /* Copy the remaining main data in the bit reservoir to the start of the

This does not happen with the IPP version available on Fluendo's web store which is also the binary build we provide to Canonical with the MP3 patent license. Any version that you compile yourself without IPP is not legally shipable under Fluendo's patent umbrella. (Might be worth checking on your side).

Best regards,

Jim Hodapp (jhodapp) wrote :

Thanks, will give this a try and report back here on my results.

Artur Rona (ari-tczew) wrote :

This bug was fixed in the package gst-fluendo-mp3 - 0.10.32.debian-1

---------------
gst-fluendo-mp3 (0.10.32.debian-1) unstable; urgency=medium

  * [f7df946] Imported Upstream version 0.10.32.debian
  * [5dc5a74] Drop GStreamer 0.10 package - 0.10 is deprecated and slated for
    removal (Closes: #785905)

 -- Iain Lane <email address hidden> Wed, 16 Sep 2015 15:14:05 +0100

Changed in gst-fluendo-mp3 (Ubuntu):
status: Confirmed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers