autovideosink with GstVideoOverlay -> handle gets destroyed by OS on minimize

Marc Krämer marc.kraemer at
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?


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 
Error creating swapchian HRESULT: HR-SEV:1 HR-FAC:7 HR-CODE:87
0:00:17.578525902  8772   0E89C3A0 INFO            d3dvideosink 
Render 0:00:03.336666666
0:00:17.578606918  8772   0E89C3A0 ERROR           d3dvideosink 
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