Seeking is broken with media-hub on versions 0.10.24 and above
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
gst-fluendo-mp3 (Ubuntu) |
Fix Released
|
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.
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_
}
Previously in version 0.10.23 and prior, this block inside the if statement was never executed:
if (tl->c_
/* Usually happens after a seek. We can't decode this frame */
GST_LOG ("Not enough main data available to decode frame");
return MP3TL_ERR_
}
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 |
A simple fix would be :
--- /tmp/meld-tmp15YRFE oneplay- build/sources- devel/linux_ x86_64/ gst-fluendo- mp3-19/ src/mp3- c.c BAD_FRAME; NEED_DATA;
+++ /home/dolphy/
@@ -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_
+ return MP3TL_ERR_
}
/* 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,