Problems on a gstreamer element with 2 src and 2 sink pads

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

Problems on a gstreamer element with 2 src and 2 sink pads

Metathronius Galabant
Dear all,

I've got a gstreamer element with 2 sink pads (of type GstCollectPads
with a callback) and 1 src pad (the output).
The callback processes both inputs, and then outputs the processed
data via gst_pad_push() to the src pad.

Due to performance reasons we need to extend this element to have an
additional src pad (another output); all this src pad needs to do is
to ADDITIONALLY push out the exact same data one of the sink pads
already gets (I can't use a tee-element).

Crude ASCII drawing:

-o[sink0]\
         { Processing of sink0,sink1 }-->---[src0]o-
-o[sink1]/--------->--------------------->---[src1]o-


1) Is this case possible with the gstreamer framework at all?

2) How are the events to be handled?
In case with 1 src pad and 2 sink pads it's easy - just copy the src
pad's event to BOTH sink pads over and it works.
How to proceed with 2 src pads? Must each event on a src pad copied to
all sink pads, AND to the other src pad?

3) The pipeline (gstreamer bin) goes into "async" mode and never runs
- is due to event being mishandled in the 2 sink <-> 2 src case?

Thanks and cheers,
M. Galabant

------------------------------------------------------------------------------
Crystal Reports &#45; New Free Runtime and 30 Day Trial
Check out the new simplified licensign option that enables unlimited
royalty&#45;free distribution of the report engine for externally facing
server and web deployment.
http://p.sf.net/sfu/businessobjects
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Unable to play RTP sent audio on VLC player

rajesh nair-6

Hi all,
using the following commands in two terminals on a host machine iam able to play the mp3 file locally but when i use a VLC player to receive and play the mp3 locally the VLC player dost play it.Any clues???(Iam setting the network address and port correctly)

Transmitter
gst-launch-0.10 -v  filesrc location=../../Mp3.mp3 ! mad  ! audioconvert ! rtpL16pay  ! udpsink port=10000

Receiver

gst-launch-0.10 udpsrc port=10000 caps ="application/x-rtp, media=(string)audio, clock-rate=(int)11025, encoding-name=(string)L16, channels=(int)1, rate=(int)11025, payload=(int)96"  !   rtpL16depay ! audioconvert ! osssink sync=false

Regards,
Rajesh



     

------------------------------------------------------------------------------
Crystal Reports &#45; New Free Runtime and 30 Day Trial
Check out the new simplified licensign option that enables unlimited
royalty&#45;free distribution of the report engine for externally facing
server and web deployment.
http://p.sf.net/sfu/businessobjects
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Problems on a gstreamer element with 2 src and 2 sink pads

ved kpl
In reply to this post by Metathronius Galabant
On Fri, Apr 24, 2009 at 12:33 PM, Metathronius Galabant
<[hidden email]> wrote:

> Dear all,
>
> I've got a gstreamer element with 2 sink pads (of type GstCollectPads
> with a callback) and 1 src pad (the output).
> The callback processes both inputs, and then outputs the processed
> data via gst_pad_push() to the src pad.
>
> Due to performance reasons we need to extend this element to have an
> additional src pad (another output); all this src pad needs to do is
> to ADDITIONALLY push out the exact same data one of the sink pads
> already gets (I can't use a tee-element).
>
> Crude ASCII drawing:
>
> -o[sink0]\
>         { Processing of sink0,sink1 }-->---[src0]o-
> -o[sink1]/--------->--------------------->---[src1]o-
>
>
> 1) Is this case possible with the gstreamer framework at all?
      Yes. But then you will have to understand the GstCollectPads
concept properly, as
  you won't be able to derive your element directly from collect pads.

>
> 2) How are the events to be handled?
> In case with 1 src pad and 2 sink pads it's easy - just copy the src
> pad's event to BOTH sink pads over and it works.
> How to proceed with 2 src pads? Must each event on a src pad copied to
> all sink pads, AND to the other src pad?


>
> 3) The pipeline (gstreamer bin) goes into "async" mode and never runs
> - is due to event being mishandled in the 2 sink <-> 2 src case?
>
> Thanks and cheers,
> M. Galabant
>
> ------------------------------------------------------------------------------
> Crystal Reports &#45; New Free Runtime and 30 Day Trial
> Check out the new simplified licensign option that enables unlimited
> royalty&#45;free distribution of the report engine for externally facing
> server and web deployment.
> http://p.sf.net/sfu/businessobjects
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
>

------------------------------------------------------------------------------
Crystal Reports &#45; New Free Runtime and 30 Day Trial
Check out the new simplified licensign option that enables unlimited
royalty&#45;free distribution of the report engine for externally facing
server and web deployment.
http://p.sf.net/sfu/businessobjects
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Problems on a gstreamer element with 2 src and 2 sink pads

ved kpl
On Fri, Apr 24, 2009 at 12:56 PM, vikram kf <[hidden email]> wrote:

> On Fri, Apr 24, 2009 at 12:33 PM, Metathronius Galabant
> <[hidden email]> wrote:
>> Dear all,
>>
>> I've got a gstreamer element with 2 sink pads (of type GstCollectPads
>> with a callback) and 1 src pad (the output).
>> The callback processes both inputs, and then outputs the processed
>> data via gst_pad_push() to the src pad.
>>
>> Due to performance reasons we need to extend this element to have an
>> additional src pad (another output); all this src pad needs to do is
>> to ADDITIONALLY push out the exact same data one of the sink pads
>> already gets (I can't use a tee-element).
>>
>> Crude ASCII drawing:
>>
>> -o[sink0]\
>>         { Processing of sink0,sink1 }-->---[src0]o-
>> -o[sink1]/--------->--------------------->---[src1]o-
>>
>>
>> 1) Is this case possible with the gstreamer framework at all?
>      Yes. But then you will have to understand the GstCollectPads
> concept properly.
>
>>
>> 2) How are the events to be handled?
>> In case with 1 src pad and 2 sink pads it's easy - just copy the src
>> pad's event to BOTH sink pads over and it works.
>> How to proceed with 2 src pads? Must each event on a src pad copied to
>> all sink pads, AND to the other src pad?

       You need not copy any event from one src pad to another, as any
upstream event will appear on both the src pads, provided any
downstream element is not dropping  the event. The Bin takes care of
this and sends the events to all the sinks, AFAIK.
>
>
>>
>> 3) The pipeline (gstreamer bin) goes into "async" mode and never runs
>> - is due to event being mishandled in the 2 sink <-> 2 src case?

      The pipeline needs to preroll (non-live) i.e all the sinks
should get the preroll buffer, for the pipeline to successfully
complete the state change to PAUSED(mostly). Ensure if you are doiung
that.

>>
>> Thanks and cheers,
>> M. Galabant
>>
>> ------------------------------------------------------------------------------
>> Crystal Reports &#45; New Free Runtime and 30 Day Trial
>> Check out the new simplified licensign option that enables unlimited
>> royalty&#45;free distribution of the report engine for externally facing
>> server and web deployment.
>> http://p.sf.net/sfu/businessobjects
>> _______________________________________________
>> gstreamer-devel mailing list
>> [hidden email]
>> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
>>
>

------------------------------------------------------------------------------
Crystal Reports &#45; New Free Runtime and 30 Day Trial
Check out the new simplified licensign option that enables unlimited
royalty&#45;free distribution of the report engine for externally facing
server and web deployment.
http://p.sf.net/sfu/businessobjects
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel