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