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 769624 - videorate: Does not support reverse playback
videorate: Does not support reverse playback
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-base
git master
Other Linux
: Normal normal
: 1.9.2
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks: 764788
 
 
Reported: 2016-08-08 11:42 UTC by Sebastian Dröge (slomo)
Modified: 2016-08-19 12:58 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
ges-testcase.c (7.69 KB, text/x-csrc)
2016-08-08 11:42 UTC, Sebastian Dröge (slomo)
  Details
GST_DEBUG=nle*:6 log (313.00 KB, text/plain)
2016-08-08 11:45 UTC, Sebastian Dröge (slomo)
  Details
videorate: Implement basic support for reverse playback (14.15 KB, patch)
2016-08-18 09:05 UTC, Sebastian Dröge (slomo)
committed Details | Review
ges-testcase.c (7.81 KB, text/x-csrc)
2016-08-18 09:34 UTC, Sebastian Dröge (slomo)
  Details

Description Sebastian Dröge (slomo) 2016-08-08 11:42:44 UTC
Created attachment 332935 [details]
ges-testcase.c

See attached testcase. The ">>" button seeks to the middle of the clip with rate=-1.0 and should play to the beginning... it seems to seek to the middle but never renders anything.
Comment 1 Sebastian Dröge (slomo) 2016-08-08 11:45:09 UTC
Created attachment 332936 [details]
GST_DEBUG=nle*:6 log
Comment 2 Sebastian Dröge (slomo) 2016-08-13 15:32:00 UTC
Problem is that we use videorate in ges-video-source.c, as it does not support reverse playback apparently.
Comment 3 Thibault Saunier 2016-08-14 00:24:40 UTC
That is not impressive videoarte does not supported it! Also compositor does not either afaict so we it will fail if mixing is enabled. What do you propose?
Comment 4 Sebastian Dröge (slomo) 2016-08-14 10:16:08 UTC
I'm implementing it in videorate because I don't need it with mixing support. compositor would be relatively simple though (basically the same as videorate), but audiomixer is a bit more interesting :)
Comment 5 Sebastian Dröge (slomo) 2016-08-18 09:05:07 UTC
Created attachment 333550 [details] [review]
videorate: Implement basic support for reverse playback

This is enough for making it work in GES, but it's unclear if all the various
property combinations are working correctly. It's an improvement over what was
there before in any case, which was to just drop all buffers if rate < 0.0.
Comment 6 Sebastian Dröge (slomo) 2016-08-18 09:34:32 UTC
Created attachment 333553 [details]
ges-testcase.c

Updated testcase. To switch from reverse playback, you need to do a seek that ensures to reset the stop position (GST_SEEK_TYPE_NONE for the stop position won't) to something meaningful.
Comment 7 Sebastian Dröge (slomo) 2016-08-18 09:36:20 UTC
Going to merge the videorate fix soon if nobody has any objections
Comment 8 Sebastian Dröge (slomo) 2016-08-19 12:57:59 UTC
commit 2ebbd1c9fafdca09d482fe84feececd929d8bee8
Author: Sebastian Dröge <sebastian@centricular.com>
Date:   Thu Aug 18 12:03:39 2016 +0300

    videorate: Implement basic support for reverse playback
    
    This is enough for making it work in GES, but it's unclear if all the various
    property combinations are working correctly. It's an improvement over what was
    there before in any case, which was to just drop all buffers if rate < 0.0.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=769624