GES 1.12.4 and 1.14.2: Problem with slide transitions

David Ing ding at panopto.com
Fri Aug 10 16:19:29 UTC 2018


I added a GstQueue (with default settings) and the video for scenario 2 has
greatly improved, but  there is still a very fast black-screen between
slides.  It does not happen for scenario 1, only scenario 2.

Here is the change I made:

https://github.com/adaviding/gstreamer-playground/commit/2b04911a839960691a09a4f9e0375afade1a605a


The log output for scenario #2 has not changed (as described earlier).

On Fri, Aug 10, 2018 at 7:17 AM, David Ing <ding at panopto.com> wrote:

> Yes it does.  I will try to add a queue after the timeline when I get to
> work ... You should hear back from me in a couple hours.
>
> On Aug 10, 2018 6:42 AM, "Thibault Saunier" <tsaunier at gnome.org> wrote:
>
>  I just ran that on linux and I get no black frame, the foreground
> video stalls for a little while which I suspect is because you are
> missing some queuing after the composition. Also does that reproduce
> while rendering?
>
>
> Thibault
>
>
> On Fri, Aug 10, 2018 at 9:27 AM David Ing <ding at panopto.com> wrote:
> >
> > It's all in the master branch of my repo (currently
> 680b203603ffa35e27493e28fe1620edacb8d655):  https://github.com/adaviding/
> gstreamer-playground
> >
> > It is a visual studio 2017 project, but I made sure to include
> >
> > collateral --> a folder with all of the media files
> > Debug/x64 --> my build output
> >
> > If you don't have visual studio, it should be easy enough to compile
> main.cpp in some other way.  The entire program is 1 source file:  main.cpp.
> >
> > On Fri, Aug 10, 2018 at 5:37 AM, Thibault Saunier <
> saunierthibault at gmail.com> wrote:
> >>
> >> Hello, could you share you project with the assets?
> >>
> >>
> >> Regards
> >>
> >> Thibault
> >>
> >>
> >>
> >> On Fri, Aug 10, 2018, 01:01 David Ing <ding at panopto.com> wrote:
> >>>
> >>> I forgot to say that the log messages appear at the time of each slide
> transition.
> >>>
> >>> On Thu, Aug 9, 2018 at 9:58 PM, David Ing <ding at panopto.com> wrote:
> >>>>
> >>>> I wrote a sample application to demonstrates a problem that I'm
> having with GES:
> >>>>
> >>>> https://github.com/adaviding/gstreamer-playground/blob/
> 680b203603ffa35e27493e28fe1620edacb8d655/ges-slide-composition/main.cpp
> >>>>
> >>>> The problem is with scenario #2 only, and I observe the problem
> running on Windows 10 with GES 1.12.4 and 1.14.2.  I have only tried this
> on Windows.
> >>>>
> >>>> Scenario 1 ( #define INCLUDE_FOREGROUND_VIDEO false )
> >>>>
> >>>> The sample application builds a video consisting of 5 jpeg images
> (i.e. "slides").  Each slide is up for 2 seconds so the movie is 10 seconds
> long.  There is no audio in the sample application, and no audio track.
> >>>>
> >>>> Scenario 2 ( #define INCLUDE_FOREGROUND_VIDEO true )
> >>>>
> >>>> This is just like scenario 1, but there is also a picture-in-picture
> style video in the corner of the screen, in front of the slides.  I am
> using a video which has no audio track.
> >>>>
> >>>> The problem is that in scenario #2, during the slide transition
> (which occurs every 2 seconds), the screen goes black for a fraction of a
> second.  Interestingly, the foreground video does not go black ... only the
> portion of the screen subtended by the slides does this (which is most of
> the screen).  And this happens for every slide transition.
> >>>>
> >>>> Some other things to note about my application.
> >>>>
> >>>> I am using a GESTimeline with a GstPipeline (not GESPipeline) because
> I need to encode the composition in many different ways.  Computational
> efficiency is of paramount importance, which means I only want to execute
> the pipeline once.  I cannot achieve this using a GESPipeline, so I need to
> use a GstPipeline
> >>>> I wired the NleComposition "query-position" signal so that it fetches
> the current position of the GstPipeline.
> >>>>
> >>>> Running with --gst-debug=3, I observe the following logs under each
> scenario.
> >>>>
> >>>> No highlights = the log appears in both scenarios.
> >>>> Yellow highlights = the log only appears in scenario #2.
> >>>> Pink highlights = the log appears in both scenarios, but is being
> repeated more often.
> >>>>
> >>>>
> >>>> Scenario 1:
> >>>>
> >>>> 0:00:09.110542588 13280 0000016292B0B940 WARN              aggregator
> gstaggregator.c:1397:gst_aggregator_query_latency_
> unlocked:<gessmartmixer0-compositor> Latency query failed
> >>>> 0:00:09.110791659 13280 0000016292B0BD00 WARN                 GST_URI
> gsturi.c:837:gst_file_utils_canonicalise_path: FIXME: canonicalise win32
> path
> >>>> 0:00:09.113365512 13280 0000016292B0BD00 WARN                 basesrc
> gstbasesrc.c:3480:gst_base_src_start_complete:<source> pad not activated
> yet
> >>>> 0:00:09.115511241 13280 0000016292B0BD00 WARN                 basesrc
> gstbasesrc.c:3480:gst_base_src_start_complete:<source> pad not activated
> yet
> >>>> 0:00:09.118815897 13280 0000016292D3CD00 FIXME           videodecoder
> gstvideodecoder.c:928:gst_video_decoder_drain_out:<jpegdec9> Sub-class
> should implement drain()
> >>>> 0:00:09.120799711 13280 0000016292D3CD00 FIXME           videodecoder
> gstvideodecoder.c:928:gst_video_decoder_drain_out:<jpegdec9> Sub-class
> should implement drain()
> >>>> 0:00:09.121881327 13280 0000016292D3CD00 WARN            videodecoder
> gstvideodecoder.c:2438:gst_video_decoder_chain:<jpegdec9> Received buffer
> without a new-segment. Assuming timestamps start from 0.
> >>>>
> >>>>
> >>>> Scenario 2:
> >>>>
> >>>> 0:00:09.250672090 16592 000001F366DE7200 WARN              aggregator
> gstaggregator.c:1397:gst_aggregator_query_latency_
> unlocked:<gessmartmixer0-compositor> Latency query failed
> >>>> 0:00:09.250841298 16592 000001F366DECE40 WARN                 GST_URI
> gsturi.c:837:gst_file_utils_canonicalise_path: FIXME: canonicalise win32
> path
> >>>> 0:00:09.253852393 16592 000001F366DECE40 WARN                 basesrc
> gstbasesrc.c:3480:gst_base_src_start_complete:<source> pad not activated
> yet
> >>>> 0:00:09.255128014 16592 000001F366DECE40 WARN                 basesrc
> gstbasesrc.c:3480:gst_base_src_start_complete:<source> pad not activated
> yet
> >>>> 0:00:09.256701573 16592 000001F366DECE40 WARN                 GST_URI
> gsturi.c:837:gst_file_utils_canonicalise_path: FIXME: canonicalise win32
> path
> >>>> 0:00:09.257970631 16592 000001F366DECAC0 WARN                 qtdemux
> qtdemux_types.c:228:qtdemux_type_get: unknown QuickTime node type uuid
> >>>> 0:00:09.262471410 16592 000001F366DECAC0 WARN                 qtdemux
> qtdemux_types.c:228:qtdemux_type_get: unknown QuickTime node type pasp
> >>>> 0:00:09.258281331 16592 000001F366DECE40 WARN                 basesrc
> gstbasesrc.c:3480:gst_base_src_start_complete:<source> pad not activated
> yet
> >>>> 0:00:09.263756148 16592 000001F366DECAC0 WARN                 qtdemux
> qtdemux.c:3017:qtdemux_parse_trex:<qtdemux5> failed to find fragment
> defaults for stream 1
> >>>> 0:00:09.265397171 16592 000001F366DECE40 WARN                 basesrc
> gstbasesrc.c:3480:gst_base_src_start_complete:<source> pad not activated
> yet
> >>>> 0:00:09.266319062 16592 000001F366DECAC0 WARN                 basesrc
> gstbasesrc.c:2389:gst_base_src_update_length:<source> processing at or
> past EOS
> >>>> 0:00:09.268796277 16592 000001F366F6A500 FIXME           videodecoder
> gstvideodecoder.c:928:gst_video_decoder_drain_out:<jpegdec9> Sub-class
> should implement drain()
> >>>> 0:00:09.273111438 16592 000001F366F6A500 FIXME           videodecoder
> gstvideodecoder.c:928:gst_video_decoder_drain_out:<jpegdec9> Sub-class
> should implement drain()
> >>>> 0:00:09.274373567 16592 000001F366F6A500 WARN            videodecoder
> gstvideodecoder.c:2438:gst_video_decoder_chain:<jpegdec9> Received buffer
> without a new-segment. Assuming timestamps start from 0.
> >>>> 0:00:09.313360990 16592 000001F366CFBD00 WARN                GST_PADS
> gstpad.c:4161:gst_pad_peer_query:<queue11:src> could not send sticky
> events
> >>>> 0:00:09.315771835 16592 000001F366DE7D00 WARN              aggregator
> gstaggregator.c:1397:gst_aggregator_query_latency_
> unlocked:<gessmartmixer0-compositor> Latency query failed
> >>>>
> >>>>
> >>>> Does anybody know how I might fix the problem with scenario #2?
> >>>
> >>>
> >>> _______________________________________________
> >>> gstreamer-devel mailing list
> >>> gstreamer-devel at lists.freedesktop.org
> >>> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
> >>
> >>
> >> _______________________________________________
> >> gstreamer-devel mailing list
> >> gstreamer-devel at lists.freedesktop.org
> >> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
> >>
> >
> > _______________________________________________
> > gstreamer-devel mailing list
> > gstreamer-devel at lists.freedesktop.org
> > https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20180810/a1c1c682/attachment-0001.html>


More information about the gstreamer-devel mailing list