Hello, I'm using GStreamer Editing Services to create a Live Loops-style application where the user can schedule the playback of clips on the fly (while the pipeline is playing). However from what I understand, updating the timeline using ges_timeline_commit is not possible without changing the state to PAUSED, which would disrupt playback. Is this the case? Is there any way I can get around this? Thanks in advance! Albert Tomanek _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Hello, This is not correct, you can commit the timeline in playing. What part of the doc makes you think it is not the case so we can enhance it? - Thibault On Tue, May 12, 2020, 05:55 Electron826 <[hidden email]> wrote:
_______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
I would like some clarification on this also.
Are you saying that I can modify a GESTimeline while the pipeline is playing, and then execute `ges_timeline_commit` without pausing playback, and all future points in time will be updated according to my modifications? Perhaps only the bin inside NleComposition is transitioning from PLAYING to READY, then back to PLAYING? (While the timeline itself always remains playing.) On Tue, May 12, 2020 at 4:08 AM Thibault Saunier <[hidden email]> wrote:
_______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
> Note that all the pending changes will automatically be executed when the timeline goes from GST_STATE_READY to GST_STATE_PAUSED, which is usually triggered by a corresponding state changes in a containing GESPipeline. This means that internally the nlecomposition commits itself when going from READY to PAUSED so you are not required to commit the timeline before going to PAUSE or PLAYING. > Are you saying that I can modify a GESTimeline while the pipeline
is playing, and then execute `ges_timeline_commit` without pausing
playback, and all future points in time will be updated according to my
modifications? Yes, this works, there are some race in a test I introduced recently for that case and am fixing it now. > Perhaps only the bin inside NleComposition is transitioning from
PLAYING to READY, then back to PLAYING? (While the timeline itself
always remains playing.) When committing involves updating the current stack (ie. the part of the timeline being played back), the composition will send flush_start/flush_stop downstream "to ensure the pipeline is ready to receive the new stream" which means the pipeline will prerol again and the go back to PLAYING, but it is basically a detail from a user perspective. - Thibault On Tue, May 12, 2020 at 11:10 AM David Ing <[hidden email]> wrote:
_______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Free forum by Nabble | Edit this page |