<div dir="rtl"><div dir="ltr">I forgot to name the d3dvideosink. <br>fixed to:<br>pipeline = gst_parse_launch ("videotestsrc ! videoconvert ! d3dvideosink name=thed3dvideosink",NULL);<br>d3dvideosink_element = gst_bin_get_by_name((GstBin*)pipeline,"thed3dvideosink");<br>
<br>now it doesn't show a window at all ( also no error reported )<br></div></div><div class="gmail_extra"><div dir="ltr"><br><br><div class="gmail_quote">2013/6/26 jacob s <span dir="ltr"><<a href="mailto:jacobhameiri@gmail.com" target="_blank">jacobhameiri@gmail.com</a>></span><br>
<blockquote class="gmail_quote" style="margin:0 .8ex;border-left:1px #ccc solid;border-right:1px #ccc solid;padding-left:1ex;padding-right:1ex"><div dir="rtl"><div dir="ltr">Thanks,<br><br></div><div dir="ltr">Tried this code, but it still opens the default windows:<br>
<br>#include <gst/gst.h><br>#include <gst/video/videooverlay.h><br>#include "windows.h"<br>
<br>LRESULT CALLBACK WndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)<br>{<br> switch(msg)<br> {<br> case WM_CLOSE:<br> DestroyWindow(hwnd);<br> break;<br> case WM_DESTROY:<br>
PostQuitMessage(0);<br> break;<br> default:<br> return DefWindowProc(hwnd, msg, wParam, lParam);<br> }<br> return 0;<br>}<br><br><br>int main(int argc, char *argv[]) {<br> GstElement *pipeline;<br>
GstBus *bus;<br> GstMessage *msg;<br> GstElement* d3dvideosink_element;<br> HWND video_window;<br> WNDCLASS WndClass;<br> DWORD err = 0 ;<br> WNDCLASSEX wc;<br><br> /* Initialize GStreamer */<br> gst_init (&argc, &argv);<br>
<br> /* Build the pipeline */<br> pipeline = gst_parse_launch ("videotestsrc ! videoconvert ! d3dvideosink",NULL);<br> d3dvideosink_element = gst_bin_get_by_name((GstBin*)pipeline,"d3dvideosink");<br>
<br> <br> wc.cbSize = sizeof(WNDCLASSEX);<br> wc.style = 0;<br> wc.lpfnWndProc = WndProc;<br> wc.cbClsExtra = 0;<br> wc.cbWndExtra = 0;<br> wc.hInstance = GetModuleHandle(NULL);<br>
wc.hIcon = LoadIcon(NULL, IDI_APPLICATION);<br> wc.hCursor = LoadCursor(NULL, IDC_ARROW);<br> wc.hbrBackground = (HBRUSH)(COLOR_WINDOW+1);<br> wc.lpszMenuName = NULL;<br> wc.lpszClassName = L"myWindowClass";<br>
wc.hIconSm = LoadIcon(NULL, IDI_APPLICATION);<br><br> if(!RegisterClassEx(&wc))<br> {<br> MessageBox(NULL, L"Window Registration Failed!", L"Error!",<br> MB_ICONEXCLAMATION | MB_OK);<br>
return 0;<br> }<br><br><br> video_window = CreateWindowEx(<br> WS_EX_CLIENTEDGE,<br> L"myWindowClass",<br> L"The title of my window",<br> WS_OVERLAPPEDWINDOW,<br>
CW_USEDEFAULT, CW_USEDEFAULT, 240, 120,<br> NULL, NULL, GetModuleHandle(NULL), NULL);<br><br><br> err = GetLastError();<br><br> gst_video_overlay_set_window_handle(GST_VIDEO_OVERLAY(d3dvideosink_element),(guintptr)video_window);<br>
<br> /* Start playing */<br> gst_element_set_state(pipeline, GST_STATE_PLAYING);<br> <br> /* Wait until error or EOS */<br> bus = gst_element_get_bus (pipeline);<br> msg = gst_bus_timed_pop_filtered (bus, GST_CLOCK_TIME_NONE, GST_MESSAGE_EOS);<br>
<br> /* Free resources */<br> if (msg != NULL)<br> gst_message_unref (msg);<br> gst_object_unref (bus);<br> gst_element_set_state (pipeline, GST_STATE_NULL);<br> gst_object_unref (pipeline);<br><br> return 0;<br>
}<br><br><br></div></div><div class="gmail_extra"><br><br><div class="gmail_quote"><div dir="ltr">2013/6/26 Sebastian Dröge <span dir="ltr"><<a href="mailto:slomo@circular-chaos.org" target="_blank">slomo@circular-chaos.org</a>></span></div>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div class="h5"><div><div>On Mi, 2013-06-26 at 12:06 +0300, jacob s wrote:<br>
> Hi,<br>
><br>
><br>
> Is it possible to pass d3dvideosink a windows id ? how ?<br>
><br>
> if not what sink should I use to show my own custom window ( version<br>
> 1.0 on windows ) and how ?<br>
<br>
</div></div>You can use gst_video_overlay_set_window_handle() on the sink, the same<br>
way you do it on other platforms. Alternative you can also set it on<br>
playbin and it will propagate that value to the sink.<br>
<br>
<br></div></div>_______________________________________________<br>
gstreamer-devel mailing list<br>
<a href="mailto:gstreamer-devel@lists.freedesktop.org" target="_blank">gstreamer-devel@lists.freedesktop.org</a><br>
<a href="http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel" target="_blank">http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel</a><br>
<br></blockquote></div><br></div>
</blockquote></div></div></div>