After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 736515 - avviddec: keep draining buffers from libav until libav says so
avviddec: keep draining buffers from libav until libav says so
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-libav
git master
Other Linux
: Normal normal
: 1.4.2
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2014-09-11 23:36 UTC by Aleix Conchillo Flaqué
Modified: 2014-09-13 13:50 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
really drain all frames (1.53 KB, patch)
2014-09-11 23:44 UTC, Aleix Conchillo Flaqué
committed Details | Review

Description Aleix Conchillo Flaqué 2014-09-11 23:36:19 UTC
Bug 734608 didn't completely fix the last missing frames. I have been able to try this in a 32-core machine with and we never rendered the last 20 frames (from a total of 300).

The problem is in the do-while loop in gst_ffmpegviddec_drain. It only retries 10 times, but this might not be enough. I guess this machine has more frames decoded but only 10 are decoded on draining.
Comment 1 Aleix Conchillo Flaqué 2014-09-11 23:44:49 UTC
Created attachment 285967 [details] [review]
really drain all frames

Since bug 734608, have_data is obtained from libav. So, we really want to drain frames until libav has no more data.
Comment 2 Sebastian Dröge (slomo) 2014-09-12 13:26:50 UTC
commit 25ab0036c0a5e35c9ddb203e9b225fdcc5d3360a
Author: IBM Thinklab <oblong@wall-center.(none)>
Date:   Thu Sep 11 19:37:33 2014 -0400

    avviddec: drain frames until libav doesn't have more data
    
    We use have_data (that comes from libav), instead of only trying 10 times,
    to know if there are more frames available. The old code was machine
    dependant as different amount of frames could be decoded by different
    type of (more powerful) machines, and 10 times was not always sufficient.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=736515
Comment 3 Tim-Philipp Müller 2014-09-12 14:10:48 UTC
> Author: IBM Thinklab <oblong@wall-center.(none)>

Aleix, please make sure to submit patches with proper author/e-mail info :)
Comment 4 Aleix Conchillo Flaqué 2014-09-12 14:21:24 UTC
Oh,  yes.  Terrible mistake.  I guess it's too late to ammend the commit.