GES 1.12, Two bugs (possibly related) with (1) GESEffect volume and (2) layer ordering priority

David Ing ding at panopto.com
Thu Jul 19 15:58:06 UTC 2018


I have observed two bugs (possibly related) with GES 1.12, and I wonder if
anybody has seen behavior like this.

First let me describe a basic setup.  I have 3 clips.  Each clip is on it's
own layer

   - a0.m4a --> audio only for the duration of the entire composition
   - layer priority 2
      - GESEffect:  volume volume=1.0
   - v1.m4v --> video only, the large background screen of a
   picture-in-picture video composition
   - layer priority 1
      - GESEffect:  *volume mute=true*
      - v0.m4v --> video only, the small foreground screen of a
   picture-in-picture video composition
   - layer priority 0
      - GESEffect:  *volume mute=true*

The first bug is that when the composition (described above) is rendered, I
do not hear any audio.  The only clip which had audio (a0.m4a) is being
muted.  Interestingly, I hear the audio when I specify *volume volume=1.0* on
all the clips.  So this seems to work fine:

   - a0.m4a
   - layer priority 2
      - GESEffect:  volume volume=1.0
   - v1.m4v
   - layer priority 1
      - GESEffect:  *volume volume=1.0*
      - v0.m4v
   - layer priority 0
      - GESEffect:  *volume volume=1.0*

The second bug is when I change the order of layers (and their priority)
the entire system breaks.  (My code always creates layers in descending
order of priority.)  Here is the ordering which breaks the system.

   - v1.m4v
   - layer priority 2
   - v0.m4v
   - layer priority 1
   - a0.m4a
      - layer priority 0

When the system breaks down under the last scenario, I see the following
logs.

2018-07-18 21:45:55.299469 DEBUG    CompositionJob.cpp:311 Linked teed
encoder eaacenc_audio0 to muxer
mux_C:\dev\github\panopto\panopto-core\Debug\x64\test-scratch\2018-07-18T21-45-54.354719Z\CompositionTests\podcast.mp4.
2018-07-18 21:45:55.303481 DEBUG    CompositionJob.cpp:311 Linked teed
encoder eavcenc_video0 to muxer
mux_C:\dev\github\panopto\panopto-core\Debug\x64\test-scratch\2018-07-18T21-45-54.354719Z\CompositionTests\podcast.mp4.
2018-07-18 21:45:55.307992 DEBUG    CompositionJob.cpp:696 Successfully
linked muxer to sink for container
C:\dev\github\panopto\panopto-core\Debug\x64\test-scratch\2018-07-18T21-45-54.354719Z\CompositionTests\podcast.mp4.
2018-07-18 21:45:55.317516 WARNING nlecomposition nlecomposition.c:2647
error: The NleComposition structure is not valid
2018-07-18 21:45:55.315511 DEBUG    CompositionJob.cpp:165 Pipeline state
changed from NULL to READY
2018-07-18 21:45:55.318018 WARNING basesrc gstbasesrc.c:3480 pad not
activated yet
2018-07-18 21:45:55.318018 DEBUG    CompositionJob.cpp:150 Pipeline
duration is 777137619 (0:00:17.957006803).
2018-07-18 21:45:55.320024 WARNING nlecomposition nlecomposition.c:2647
error: <GESEffect:nleoperation0> Not enough sinkpads to link all objects to
the operation ! 1 / 0, current toplevel seek seek event: 00000181DBF2A150,
time 99:99:99.999999999, seq-num 884, GstEventSeek, rate=(double)1,
format=(GstFormat)GST_FORMAT_TIME,
flags=(GstSeekFlags)GST_SEEK_FLAG_FLUSH+GST_SEEK_FLAG_ACCURATE,
cur-type=(GstSeekType)GST_SEEK_TYPE_SET, cur=(gint64)0,
stop-type=(GstSeekType)GST_SEEK_TYPE_SET, stop=(gint64)16500000000;
2018-07-18 21:45:55.322028 WARNING basesrc gstbasesrc.c:3480 pad not
activated yet
2018-07-18 21:45:55.324035 DEBUG    CompositionJob.cpp:150 Pipeline
duration is 777137619 (0:00:17.957006803).
2018-07-18 21:45:55.334061 WARNING nlecomposition nlecomposition.c:2654
error: The NleComposition structure is not valid
2018-07-18 21:45:55.339099 WARNING basesrc gstbasesrc.c:3480 pad not
activated yet
2018-07-18 21:45:55.342080 WARNING qtdemux qtdemux_types.c:228 unknown
QuickTime node type uuid
2018-07-18 21:45:55.346091 WARNING basesrc gstbasesrc.c:3480 pad not
activated yet
2018-07-18 21:45:55.347093 WARNING nlecomposition nlecomposition.c:2654
error: Operation <GESEffect:nleoperation0> has no child objects to be
connected to current toplevel seek: seek event: 00000181DBF2A150, time
99:99:99.999999999, seq-num 884, GstEventSeek, rate=(double)1,
format=(GstFormat)GST_FORMAT_TIME,
flags=(GstSeekFlags)GST_SEEK_FLAG_FLUSH+GST_SEEK_FLAG_ACCURATE,
cur-type=(GstSeekType)GST_SEEK_TYPE_SET, cur=(gint64)0,
stop-type=(GstSeekType)GST_SEEK_TYPE_SET, stop=(gint64)16500000000;
2018-07-18 21:45:55.342583 ERROR    CompositionJob.cpp:99 Error received
from element audio_nlecomposition0: The NleComposition structure is not
valid.
nlecomposition.c(2647): _relink_children_recursively ():
/GstPipeline:whatever/GESTimeline:gestimeline0/GESAudioTrack:gesaudiotrack0/NleComposition:audio_nlecomposition0:
<GESEffect:nleoperation0> Not enough sinkpads to link all objects to the
operation ! 1 / 0, current toplevel seek seek event: 00000181DBF2A150, time
99:99:99.999999999, seq-num 884, GstEventSeek, rate=(double)1,
format=(GstFormat)GST_FORMAT_TIME,
flags=(GstSeekFlags)GST_SEEK_FLAG_FLUSH+GST_SEEK_FLAG_ACCURATE,
cur-type=(GstSeekType)GST_SEEK_TYPE_SET, cur=(gint64)0,
stop-type=(GstSeekType)GST_SEEK_TYPE_SET, stop=(gint64)16500000000;
2018-07-18 21:45:55.360129 ERROR    CompositionJob.cpp:120 Job failed after
00:00:00.486775.  It started at 2018-07-18T21:45:55.359627Z and ended at
2018-07-18T21:45:54.872852Z.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20180719/20ffa55f/attachment.html>


More information about the gstreamer-devel mailing list