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 753624 - splitmuxsink: initialize mux_start_time properly
splitmuxsink: initialize mux_start_time properly
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-good
git master
Other Linux
: Normal normal
: 1.6.1
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2015-08-14 12:02 UTC by George Kiagiadakis
Modified: 2015-10-02 14:43 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
splitmuxsink: initialize mux_start_time properly (1.66 KB, patch)
2015-08-14 12:02 UTC, George Kiagiadakis
committed Details | Review

Description George Kiagiadakis 2015-08-14 12:02:09 UTC
Created attachment 309260 [details] [review]
splitmuxsink: initialize mux_start_time properly

mux_start_time refers to the running_time of the buffer
that goes first in the output file. Normally this time is
0, so this variable is initialized to 0 during the state
change to PAUSED.

However, when dealing with dynamic pipelines and starting
a recording while the pipeline has already run for a while,
the running_time of the first buffer is > 0 and this causes
a problem with detecting the end of the first file(s) when
splitting by duration, because the code will later compare
the threshold_time with (last buffer running_time - mux_start_time)
and will get it wrong until mux_start_time advances enough
to make this difference < threshold_time, creating empty files
in the meantime.
Comment 1 Jan Schmidt 2015-08-22 10:43:10 UTC
Review of attachment 309260 [details] [review]:

Thanks :)
Comment 2 Jan Schmidt 2015-10-02 14:43:52 UTC
Thanks, pushed:

Author: George Kiagiadakis <george.kiagiadakis@collabora.com>
Date:   Wed Jul 22 17:45:12 2015 +0200

    splitmuxsink: initialize mux_start_time properly
    
    mux_start_time refers to the running_time of the buffer
    that goes first in the output file. Normally this time is
    0, so this variable is initialized to 0 during the state
    change to PAUSED.
    
    However, when dealing with dynamic pipelines and starting
    a recording while the pipeline has already run for a while,
    the running_time of the first buffer is > 0 and this causes
    a problem with detecting the end of the first file(s) when
    splitting by duration, because the code will later compare
    the threshold_time with (last buffer running_time - mux_start_time)
    and will get it wrong until mux_start_time advances enough
    to make this difference < threshold_time, creating empty files
    in the meantime.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=753624