[gst-devel] DirectDrawSink loses its link and goes to the NULL state

wl2776 wl2776 at gmail.com
Thu Apr 15 14:33:42 CEST 2010


I am writing a player, which is able to play sound from a separate file.
I do this the following way.
1. Create directdrawsink instance. My player is the ActiveX component, and I
have to embed its window into another application. So, I create this element
before and set its window ID.

2. create playbin2, attach signal handler and bus watch, analyze messages
and decide on them, which streams are present. I also set its "video-sink"
property.

3. If video or audio is missing, post an application message with the small
flag, that video (or audio) is missing.

4. Bus watch catches this message, destroys the playbin2 instance, creates
an empty pipeline, puts two uridecodebins there and also two more bins, vbin
and abin, containing, respectively, queue2, ffmpegcolorspace, videoscale and
already existing videosink; and audioconver, audioresample, and
autoaudiosink.

Bin creation is happening in the no-more-pads handler.

The code, creating bins is like the following.

gst_bin_new()
several 
gst_element_factory_make()
gst_bin_add_many()
gst_element_link_many()

Then I create ghostpad for the bin and link it with the uridecodebin.

The problem is: all elements are linked immediately after creation: 
http://n4.nabble.com/file/n1887258/player1.png pipeline fragment,
player1.png (140kb) , original dot is: 
http://n4.nabble.com/file/n1887258/0.00.11.466488000-player-2uridb.dot
0.00.11.466488000-player-2uridb.dot 

But after some time videosink unlinks and goes to the NULL state. Why??

http://n4.nabble.com/file/n1887258/player-2.png fragment of the pipeline
after some time, player-2.png (123kb) , 
original dot: 
http://n4.nabble.com/file/n1887258/0.00.48.289437000-player.dot
0.00.48.289437000-player.dot 

I would like to avoid recreation of the video-sink, as it contains a frame,
and this will cause image flickering.
-- 
View this message in context: http://n4.nabble.com/DirectDrawSink-loses-its-link-and-goes-to-the-NULL-state-tp1887258p1887258.html
Sent from the GStreamer-devel mailing list archive at Nabble.com.




More information about the gstreamer-devel mailing list