I hope this is an easy one for someone here, and I apologize if I'm asking in the wrong place. And please forgive what I'm sure must be a dumb question, but I'm stumped. Even just tips of where else to look for the answer would be gratefully welcomed.
I'm using a simple C program to launch a trivial pipeline with a videotestsrc sourcing to an xvimagesink. My demonstration source is at: http://vps01.westbrook.com/movewin.c Creating and launching the pipeline from C is easy enough and works fine. The trick (to me) is that I want it to be placed in an undecorated X11 window at specific screen coordinates, and I'm unable to so far. From what I gather from reading everything I can find, for best results this should be done using the "prepare-xwindow-id" message sent by the xvimagesink element, and responding with the created window ID using the "gst_x_overlay_set_xwindow_id()" method of the xoverlay interface. I'm doing this, and I do indeed get a request message, and respond to it. It doesn't seem like a terribly complicated transaction, but it's not working for me and I'm at a loss as to why. Try as I might, video appears in xvimagesink's self-created window rather than mine, with decorations, anywhere on the screen that the WM feels like putting it. Would anyone mind taking a quick glance to see what I'm doing wrong? I hope it's obvious to someone with more gstreamer under their belt than me. Also, when it's working, would a well-documented example of this technique be good to share on an examples page of some kind? (Or if one exists already, pointers appreciated; I couldn't find one.) Thanks for any help! E. Westbrook ------------------------------------------------------------------------------ Are you an open source citizen? Join us for the Open Source Bridge conference! Portland, OR, June 17-19. Two days of sessions, one day of unconference: $250. Need another reason to go? 24-hour hacker lounge. Register today! http://ad.doubleclick.net/clk;215844324;13503038;v?http://opensourcebridge.org _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/gstreamer-devel |
When I run your sample I saw one window, which could adjust its size in XCreateSimpleWindow (). Isn’t it same on you side?
I compile it use �ClXt, instead of -lXtst
And gdkwindow could do
full-screen to hide window title to reach an undecorated
window, is this what you need? From:
E. Westbrook [mailto:[hidden email]] I hope this is an easy one for someone here, and I
apologize if I'm asking in the wrong place. And please forgive what I'm
sure must be a dumb question, but I'm stumped. Even just tips of where
else to look for the answer would be gratefully welcomed. ------------------------------------------------------------------------------ Are you an open source citizen? Join us for the Open Source Bridge conference! Portland, OR, June 17-19. Two days of sessions, one day of unconference: $250. Need another reason to go? 24-hour hacker lounge. Register today! http://ad.doubleclick.net/clk;215844324;13503038;v?http://opensourcebridge.org _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/gstreamer-devel |
Thanks for the help! That observation got me pointed right.
Amusingly, I hadn't tried adjusting the height and width in the XCreateSimpleWindow call -- just the origin. So I assumed (wrongly) that my created window was being disregarded by xvimagesink, when apparently it wasn't. Changing width/height, as you did, demonstrated that assumption to be wrong, since xvimagesink would have to be getting those dimensions from the created window. The "real" problem, it turns out, is that unless told otherwise, the window manager ignores the created x/y position (I use fluxbox, but I would wager that other WMs behave this way too). This code, after window creation and before mapping, apparently tells the WM to bugger off: unsigned long valuemask = CWOverrideRedirect; It now displays for me exactly as desired. I also wanted the window without decorations, and this achieves that result at the same time. I've updated the example code at the previous URL which now works as desired. Hope this simple problem/solution example helps someone else searching for this. Thanks so much for the help! E. Westbrook PS - Thanks for the -lXt linking observation, that's fine for me too. 2009/6/23 Zhao, Halley <[hidden email]>
------------------------------------------------------------------------------ Are you an open source citizen? Join us for the Open Source Bridge conference! Portland, OR, June 17-19. Two days of sessions, one day of unconference: $250. Need another reason to go? 24-hour hacker lounge. Register today! http://ad.doubleclick.net/clk;215844324;13503038;v?http://opensourcebridge.org _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/gstreamer-devel |
Free forum by Nabble | Edit this page |