How to make nlecomposition/nleurisource work as expected?

Guofeng Zhang guofeng.zhang at mybean.cn
Wed Oct 14 23:54:52 PDT 2015


Hi, Thibault,

Thanks for the link, it is very useful. I could play the audio use 
ges-launch.

You said in your mail that gst-launch will not be able to use the 
NleComposition. How about I use NleComposition in the GStreamer application?

I have a C code that use NleComposition. When I run it, I got:

0:00:00.047100905  4218      0x19f02d0 WARN                 basesrc 
gstbasesrc.c:3481:gst_base_src_start_complete:<source> pad not activated yet
0:00:00.050019892  4218      0x19f02d0 WARN                 basesrc 
gstbasesrc.c:3481:gst_base_src_start_complete:<source> pad not activated yet
0:00:00.130380971  4218 0x7fad2404f1e0 WARN                oggdemux 
gstoggdemux.c:3293:gst_ogg_demux_do_seek:<'':src_00001227> Locking on ts 
0:00:00.294603174
0:00:00.135908773  4218 0x7fad2404f1e0 WARN                oggdemux 
gstoggdemux.c:4835:gst_ogg_demux_loop:<oggdemux0> error: Internal data 
stream error.
0:00:00.136021822  4218 0x7fad2404f1e0 WARN                oggdemux 
gstoggdemux.c:4835:gst_ogg_demux_loop:<oggdemux0> error: stream stopped, 
reason not-linked
Error: Internal data stream error.

The C code created the following pipleline:
      nlecomposition ( nleurisource ) ! audioconvert ! alsasink

And the code is here:
https://github.com/guofengzh/gnonlin-tutorial/blob/master/src/gstGnonlinTutorial.c

Your help is appreciated.

GStreamer/GES 1.6.0, Ubuntu 15.04, gcc 4.9.2

guofeng


On 2015/10/14 23:55, Thibault Saunier wrote:
> Hello Guofeng,
>
> gst-launch will not be able to use the NleComposition, mostly because
> the composition is responsible for building the pipeline, linking
> element together etc... but Gst pipeline parser also tried to do the
> same thing, leading to broken behaviour.
>
> You might want to have a look at ges-launch, there is some
> documentation at
> https://phabricator.freedesktop.org/w/gstreamer/gst-editing-services/ges-launch/
> but that will be moved to the GES documentation in the near future.
>
> Regards,
>
> Thibault Saunier
>
> On Wed, Oct 14, 2015 at 4:45 PM, Guofeng Zhang <guofeng.zhang at mybean.cn> wrote:
>> Hi,
>>
>> I tried to use gnonlin to play part of the audio file (start at 5s in the
>> audio file and the duration is 5s), so I use the following command:
>>
>> gst-launch-1.0 nlecomposition \( nleurisource uri=file://$PWD/ten.ogg
>> start=0 duration=5000000000 inpoint=5000000000 \) ! audioconvert ! alsasink
>>
>> I got the following output, which had the error messages listed:
>>
>> Setting pipeline to PAUSED ...
>> Pipeline is PREROLLING ...
>> (gst-launch-1.0:4619): GStreamer-CRITICAL **: gst_pad_push_event: assertion
>> 'GST_IS_PAD (pad)' failed
>> (gst-launch-1.0:4619): GStreamer-CRITICAL **: gst_object_unref: assertion
>> 'object != NULL' failed
>> Pipeline is PREROLLED ...
>> Setting pipeline to PLAYING ...
>> New clock: GstAudioSinkClock
>> Got EOS from element "pipeline0".
>> Execution ended after 0:00:16.289522903
>> Setting pipeline to PAUSED ...
>> Setting pipeline to READY ...
>> Setting pipeline to NULL ...
>> Freeing pipeline ...
>>
>> and the audio is played from the begin to the end (16s, not 5s, and not
>> start playing at 5s).
>>
>> I donot know how to fix it. Your help is appreciated.
>>
>> I use gstreamer 1.6.0 built from the source by myself, ubuntu 15.04.
>>
>> NOTE:
>>
>> if I run the following command:
>>
>>   gst-launch-1.0 uridecodebin uri=file://$PWD/ten.ogg ! audioconvert !
>> alsasink
>>
>> No failed messages output, so I think my environment is fine.
>>
>> Thanks again.
>>
>> guofeng
>>
>>
>>
>>
>> _______________________________________________
>> gstreamer-devel mailing list
>> gstreamer-devel at lists.freedesktop.org
>> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>>



More information about the gstreamer-devel mailing list