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

Marc Krämer marc.kraemer at web.de
Mon Dec 15 15:34:11 PST 2014


A short update after more research:

 > But whenever i minimize my app to system tray, the operating system 
(ms windows in this case) destroys the handle.

I was wrong. Handle does not got disposed. The inner state of the 
control seems to become changed in a way d3dvideosink can't handle. 
Found some post about 'window minimize' + 'directx' problems. Possible a 
correlation to Controls AreaLayout reinitialisation. Seems to be a 
interop Problem.

Anyway, can anyone give me he hint how i can 'pause' the videosink while 
playing audio on. And later, after reverting window minimize, bring back 
the old pipeline state?
I will be happy for any catchword!

Best regards,
marc



> 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