<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>