autovideosink with GstVideoOverlay -> handle gets destroyed by OS on minimize
Marc Krämer
marc.kraemer at web.de
Mon Dec 15 07:48:15 PST 2014
Hi all,
within my application i use the following playbin to play any kind of video:
filesrc -> decodebin -> videobalance -> autovideosink
-> audioconvert -> volume -> autoaudiosink
At runtime autovideosink produces a autovideosink-actual-sink-d3dvideo
and I can redirect output sucessfull within a widget (by setting handle
within syncMessage at the right time). Everything works like a charm.
But whenever i minimize my app to system tray, the operating system (ms
windows in this case) destroys the handle. Therefore i receive a a
general stream error. Everything make sense.
Please, can anyone give me a hint what i should/could do?
Cheers,
marc
BTW 1: gstreamer is a masterpeace
BTW 2: Evaluated Pipeline at runtime:
Pipeline Element name:autoaudiosink klass: "Sink/Audio" longname: ""
description: "Wrapper audio sink for automatically detected audio sink"
Pipeline Element name:autoaudiosink-actual-sink-directsound klass:
"Sink/Audio" longname: "" description: "Output to a sound card via
Direct Sound"
Pipeline Element name:volume klass: "Filter/Effect/Audio" longname: ""
description: "Set volume on audio/raw streams"
Pipeline Element name:audioconvert klass: "Filter/Converter/Audio"
longname: "" description: "Convert audio to different formats"
Pipeline Element name:autovideosink klass: "Sink/Video" longname: ""
description: "Wrapper video sink for automatically detected video sink"
Pipeline Element name:autovideosink-actual-sink-d3dvideo klass:
"Sink/Video" longname: "" description: "Display data using a Direct3D
video renderer"
Pipeline Element name:videobalance klass: "Filter/Effect/Video"
longname: "" description: "Adjusts brightness, contrast, hue, saturation
on a video stream"
Pipeline Element name:textoverlay klass: "Filter/Editor/Video" longname:
"" description: "Adds text strings on top of a video buffer"
Pipeline Element name:timeoverlay klass: "Filter/Editor/Video" longname:
"" description: "Overlays buffer time stamps on a video stream"
Pipeline Element name:decodebin klass: "Generic/Bin/Decoder" longname:
"" description: "Autoplug and decode to raw media"
Pipeline Element name:avdec_h264-1 klass: "Codec/Decoder/Video"
longname: "" description: "libav h264 decoder"
Pipeline Element name:avdec_aac1 klass: "Codec/Decoder/Audio" longname:
"" description: "libav aac decoder"
Pipeline Element name:aacparse1 klass: "Codec/Parser/Audio" longname: ""
description: "Advanced Audio Coding parser"
Pipeline Element name:capsfilter1 klass: "Generic" longname: ""
description: "Pass data without modification, limiting formats"
Pipeline Element name:h264parse1 klass: "Codec/Parser/Converter/Video"
longname: "" description: "Parses H.264 streams"
Pipeline Element name:multiqueue1 klass: "Generic" longname: ""
description: "Multiple data queue"
Pipeline Element name:qtdemux1 klass: "Codec/Demuxer" longname: ""
description: "Demultiplex a QuickTime file into audio and video streams"
Pipeline Element name:typefind klass: "Generic" longname: ""
description: "Finds the media type of a stream"
Pipeline Element name:filesrc klass: "Source/File" longname: ""
description: "Read from arbitrary point in a file"
BTW 3: Relevant logs:
0:00:17.559373887 8772 055B4000 ERROR d3dvideosink
d3dhelpers.c:1452:d3d_resize_swap_chain:<autovideosink-actual-sink-d3dvideo>
Error creating swapchian HRESULT: HR-SEV:1 HR-FAC:7 HR-CODE:87
0:00:17.578525902 8772 0E89C3A0 INFO d3dvideosink
d3dhelpers.c:1837:d3d_render_buffer:<autovideosink-actual-sink-d3dvideo>
Render 0:00:03.336666666
0:00:17.578606918 8772 0E89C3A0 ERROR d3dvideosink
d3dhelpers.c:1391:d3d_resize_swap_chain:<autovideosink-actual-sink-d3dvideo>
Direct3D swap chain does not exist
0:00:17.579178429 8772 0B745CB0 WARN qtdemux
qtdemux.c:4434:gst_qtdemux_loop:<qtdemux1> error: streaming stopped,
reason error
More information about the gstreamer-devel
mailing list