Hi Rno, >in your test to compare clutter-vlc with vlc, have you used the > opengl output video module of vlc? I have not, actually. And the reason is even though you have followed the GL prototype, the clutter-vlc-vout you have is basically a glue driver between vlc and clutter.This then means that we require to find the differences between xvideo vout and LG vout, if that matters. BTW, will try out the load with GL vout tonight once I reach home.
> in my output video module, I'm acting like the opengl output > video module of vlc, meaning that I'm creating a ClutterTexture > of the same size of the video and let the GL doing the scale for me. I think the GL scaling also may not be correctly done. But we can check that after the aspect ratio stuff is fixed. > The only issue I see, is from the idle function, since I can't > update the ClutterTexture from another thread (because of the > OpenGL context). Using an idle function means that if the vlc's > thread which renders the video frame is faster than the clutter's > thread which becomes idle, lots of idle function will be queued, > meaning lots of repaint from clutter once it unqueues idle > functions ... Are you sure there is a queue mechanism implemented ? I don't think so, and I haven't seen it in clutter code. > For the aspect ratio, yep, I can do something for that. Thanks. Ethan. On Sun, Apr 5, 2009 at 10:57 PM, Ethan Collins <[email protected] <collins.ethans%[email protected]>> wrote: > Rno, > > Missed out: clutter-gst maintains the correct aspect ratio. You may refer to > that. However, regarding cpu usage, gst is not a comparison since it is high > always (in standalone mode as well). > > Ethan. > > On Mon, Apr 6, 2009 at 1:33 AM, Ethan Collins > <[email protected] <collins.ethans%[email protected]>> wrote: >> >> Hi Rno, >> >> Yes, cpu usage is drastically high. And easy way to test is with HD clips. >> I use one 10...@30 clip and tried with vlc from shell, pygtk+vlc and your >> video_player program, configuring my ubuntu's power manager to on-demand >> mode. Both vlc and pygtk+vlc consume the same amount of cpu approximately, >> while video_player pushes the cpu frequency scaler to the highest always. >> >> First thing that comes to mind, since the aspect ratio is broken as well: >> is your example asking VLC to scale the image ? >> >> Have you faced this issue ? >> >> Ethan. >> >> On Mon, Apr 6, 2009 at 12:48 AM, Ethan Collins >> <[email protected] <collins.ethans%[email protected]>> wrote: >>> >>> Hi, >>> >>> Thanks. I wil definitely mention you of any issues that I come across. >>> >>> I have a few updates in mind: >>> >>> [1] Double buffering. I saw a few of the video_output samples in the vlc >>> code and feel we may require it here as well. Are you seeing any tearing >>> issues with the current code ? >>> >>> [2] I notice your driver calling clutter_texture_set_from_rgb_data and >>> this will as I understand copy over the frame. Can there be some way to >>> avoid this overhead ? There has been a mailchain initialited by Filippo >>> Argiolas sometime back regarding sharing textures between 2 GL contexts and >>> his findings may give us some lead. >>> >>> Do you agree ? >>> >>> Ethan. >>> >>> On Sun, Apr 5, 2009 at 11:06 PM, Arnaud VALLAT <[email protected]> wrote: >>>> >>>> Hello, >>>> >>>> to compile clutter-vlc, you should run autogen.sh which then produces >>>> and executes the configure file. >>>> >>>> Feel free to tell me any problems, optimizations and so on :-) >>>> >>>> Regards, >>>> >>>> Rno >>>> >>>> On Sun, Apr 5, 2009 at 3:57 PM, Ethan Collins >>>> <[email protected] <collins.ethans%[email protected]>> wrote: >>>> > Rno, >>>> > >>>> > Thanks. I have downloaded your vlc-vout driver and could compile it >>>> > and >>>> > install (changed to clutter-0.8, only modification). >>>> > >>>> > Related to libvlc_media_player_set_window, there is another >>>> > complementary >>>> > routine, mediacontrol_set_visual which I use from the python bindings. >>>> > I >>>> > went through the VLC codebase for the last few days and realize that >>>> > we >>>> > actually require the vout solution that you provided. So, next step >>>> > would be >>>> > to see how to optimize it. >>>> > >>>> > I was trying to compile the clutter-vlc but the configure script >>>> > doesn't >>>> > exist. Can you send me those files as well which can successfully >>>> > complete >>>> > the clutter-vlc build ? >>>> > >>>> > -Ethan. >>>> > >>>> > On Thu, Apr 2, 2009 at 12:29 PM, Arnaud VALLAT <[email protected]> >>>> > wrote: >>>> >> >>>> >> Hello, >>>> >> >>>> >> Well I'm not a VLC expert, I have written the clutter video module >>>> >> output based upon the opengl video module output of VLC. >>>> >> >>>> >> the libVLC provides a routine which lets you define the drawable used >>>> >> to renders the video: libvlc_media_player_set_xwindow. >>>> >> >>>> >> I don't know anything about Python ... So I can't help for any >>>> >> bindings. >>>> >> >>>> >> Rno >>>> >> >>>> >> On Wed, Apr 1, 2009 at 11:00 PM, Ethan Collins >>>> >> <[email protected]<collins.ethans%[email protected]>> wrote: >>>> >> > I have seen your code yesterday and good to know that it works (I >>>> >> > believe >>>> >> > you kept a note of heavy CPU usage). Will definitely try it >>>> >> > sometime. >>>> >> > >>>> >> > Currently, my need is to use python bindings of VLC, and if I can >>>> >> > get >>>> >> > the >>>> >> > Texture's drawable id (xid), I can get productive. Can you tell me >>>> >> > how I >>>> >> > can >>>> >> > get it ? You can point me to your code as well. >>>> >> > >>>> >> > Ethan. >>>> >> > >>>> >> > On Thu, Apr 2, 2009 at 2:04 AM, Arnaud VALLAT <[email protected]> >>>> >> > wrote: >>>> >> >> >>>> >> >> Hello, >>>> >> >> >>>> >> >> I have done a video output module for VLC and an implementation of >>>> >> >> ClutterMedia so called clutter-vlc. It's in plain C, and it still >>>> >> >> needs some work, but it already work. >>>> >> >> >>>> >> >> The video output module renders within a ClutterTexture, so you >>>> >> >> don't >>>> >> >> need any window handle. It compiles outside the VLC source tree, >>>> >> >> you >>>> >> >> just need VLC installed. >>>> >> >> >>>> >> >> http://github.com/rno/vlc-vout-clutter/ >>>> >> >> http://github.com/rno/clutter-vlc/ >>>> >> >> >>>> >> >> Hopes it helps >>>> >> >> >>>> >> >> Rno >>>> >> >> >>>> >> >> On Wed, Apr 1, 2009 at 10:00 PM, Ethan Collins >>>> >> >> <[email protected]<collins.ethans%[email protected]>> wrote: >>>> >> >> > I am very new to clutter, and intend to add some good graphics >>>> >> >> > over a >>>> >> >> > video >>>> >> >> > application. At first I need to create 2 Textures and play >>>> >> >> > videos >>>> >> >> > using >>>> >> >> > VLC >>>> >> >> > on them. This is where I stumble: not able to contain the VLC >>>> >> >> > window >>>> >> >> > within >>>> >> >> > the Textures, but VLC is creating it's own external window. I am >>>> >> >> > using >>>> >> >> > python bindings. >>>> >> >> > >>>> >> >> > I could acheive this easily with gtk windows:creating >>>> >> >> > DrawingAreas >>>> >> >> > and >>>> >> >> > using >>>> >> >> > 'set_visual' API (VLC's python bindings, effectively calling >>>> >> >> > libvlc_media_player_set_drawable) with the window's handle as >>>> >> >> > input. >>>> >> >> > I >>>> >> >> > am >>>> >> >> > hoping something similar as window handle will be available for >>>> >> >> > the >>>> >> >> > Textures, but not able to find it. I am trying to go through the >>>> >> >> > clutter/gst >>>> >> >> > code but guess require to spend a significant amount of time to >>>> >> >> > understand >>>> >> >> > it. If someone can throw some light into this, it will be very >>>> >> >> > nice. >>>> >> >> > >>>> >> >> > I believe if this can be done, then further control of the media >>>> >> >> > VLC >>>> >> >> > plays >>>> >> >> > becomes easy using VLC's python bindings. >>>> >> >> > >>>> >> >> > Ethan. >>>> >> >> > >>>> >> >> > >>>> >> >> >>>> >> >> >>>> >> >> >>>> >> >> -- >>>> >> >> >>>> >> >> "Given enough eyeballs, all bugs are shallow" >>>> >> >> Eric Steven Raymond >>>> >> > >>>> >> > >>>> >> >>>> >> >>>> >> >>>> >> -- >>>> >> >>>> >> "Given enough eyeballs, all bugs are shallow" >>>> >> Eric Steven Raymond >>>> > >>>> > >>>> >>>> >>>> >>>> -- >>>> >>>> "Given enough eyeballs, all bugs are shallow" >>>> Eric Steven Raymond >>> >> > > -- "Given enough eyeballs, all bugs are shallow" Eric Steven Raymond
