As promised

Having fun with my new gstreamer/OpenGL-fu.

gl-gst-player
(click to play back, ogg/theora, ~2.4 MBytes)

The code for gl-gst-player I uploaded to f.d.o in my cozy git-repo here. It is unfinished, unpolished, undocumented and probably will not work on anything but i915 or i945 graphics hardware (only tested on Ubuntu 7.04 and Fedora 7 sofar). There are tons of remaining issues, missing features and other things I want to do with. Be aware of that before you grab it. After all, this is my gstreamer-playground for lowfat so never expect gl-gst-player to ever be something that can be considered finished.

18 Responses to “As promised”

  1. Kaleo Says:

    You look like a mad scientist :)

  2. Ramsees Says:

    lol.

    You made me smile.

    than you.

  3. Mr Green Says:

    What you said right there reminds of what Torvalds first said of Linux :-D

  4. Steveway Says:

    Really nice!
    But sadly it doesn’t compile correct here…
    Configure runs without problems then with make it seems to compile but I get no binary files. :(
    Any clue what I did wrong?
    git clone git://people.freedesktop.org/~macslow/gl-gst-player
    cd gl-gst-player
    sh autogen.sh
    ./configure
    make

    EDIT: Damn Captcha, everytime I post here I misinterpret it…

  5. Jose Hevia Says:

    Why not to remove the background completely?

    Just for fun, make this transparent, and remove the windows borders.
    You did this with your cairo clock, so is very easy to do for you. It creates a very interesting effect (going out 3D)

    He,he, As usual first captcha failed

  6. rillian Says:

    Steveway: look for an "error" line in the make output. It should say where it went wrong.

    For my part it compiled fine, but I get just the background on my nvidia-proprietary machine

    $ ./src/gl_gst_player ~/media/mdis_earth.ogg
    Using glXSwapIntervalSGI()
    Found glXCreateGLXPbufferSGIX()
    Found glXDestroyGLXPbufferSGIX()
    Found glXQueryGLXPbufferSGIX()
    Found glXSelectEventSGIX()
    Found glXGetSelectedEventSGIX()
    OpenGL version: 2.1.0 NVIDIA 96.31
    OpenGL vendor: NVIDIA Corporation
    OpenGL renderer: GeForce 7600 GT/PCI/SSE2

    MacSlow: any reason the documented git://anongit.freedesktop.org/git/users/macslow/… doesn’t work? Not that the people url isn’t nicer, it was just the first one I found.

  7. MacSlow Says:

    @Steveway: Did you look in gl-gst-player/src? The resuting binary is created there. Also update your copy of gl-gst-player via git. I added some explanations in the README file.

    @Jose: I’m on i915 here only. On this setup with intel’s driver I cannot use transparent RGBA visuals with GLX. On nvidia I would get that working for sure. But that has to wait until I’m back home again… on my trusty nvidia-driven desktop-box. I don’t like to develop stuff I cannot run/test myself. But then… since this isn’t about totally blinging up, I have no urge to do these kind of gimmicks to gl-gst-player at the moment.

    @rillian: I know about the "empty window" on nvidia, but have currently no idea what causes this. I know how to debug it, but due to the lack of nvidia-hardware I cannot investigate this further. It will have to wait until I’m back in Germany. I do not know why the anongit URL does not work. I always use the people one. BTW, how did you find out about the anongit URL in the first place?

  8. Jose Hevia Says:

    @rillian: I have a nvidia card with the problem of the black screen sometimes, a bug that happends when all card memory is used. Very nasty bug. I create a script named "3d", with:

    #! /bin/bash

    beryl –use-copy

    Then give it execution rights. When using beryl and having this problem, you could close used windows(free memory), or press Alt+F2, 3d. It works for me but makes beryl behave poorly.(some plugins like annotation,and Skydome antialiasing, stop working).

    It’s a know issue, but nvidia folks don’t want to fix it, or give info.(If the drivers were open source, it would be closed in a day)

    Captcha: 1 Failed attemp this day.

  9. Steveway Says:

    @rillian: You are right, make spits out some errors:
    cc1: warnings being treated as errors
    opengl-utils.c: In Funktion »opengl_upload_from_media«:
    opengl-utils.c:461: Warnung: Implizite Deklaration der Funktion »glActiveTexture«
    opengl-utils.c: In Funktion »opengl_init«:
    opengl-utils.c:739: Warnung: Implizite Deklaration der Funktion »glMultiTexCoord2fARB«
    make[2]: *** [gl_gst_player-opengl-utils.o] Fehler 1
    make[2]: Verlasse Verzeichnis ‘/home/steveway/gl-gst-player/src’
    make[1]: *** [all-recursive] Fehler 1
    make[1]: Verlasse Verzeichnis ‘/home/steveway/gl-gst-player’
    make: *** [all] Fehler 2

    But I can’t see whats wrong, the dependencies should all be installed and ./configure didn’t spit out errors.
    EDIT: Captcha again.

  10. rillian Says:

    @Steveway: sounds like your opengl headers are too old? In any case, they’re warnings being treated as errors, so you might get somewhere by removing ‘-Werror’ from the CFLAGS line in configure.ac and then rebuilding from scratch.

  11. rillian Says:

    @MacSlow: google turned up http://www.freedesktop.org/wiki/Infrastructure/git/Users. The gitweb pages should really include the actual git urls, don\’t you think?

  12. Steveway Says:

    Thanks rillian, that worked.
    Only the "nvidia-empty-window-bug" buggers me.

  13. MacSlow Says:

    @ Steveway: I know. Bugs me too! Will have to wait until I’m back on some nvidia-based machine again.

  14. lakerz Says:

    Hmm…

    Using glXSwapIntervalSGI()
    Found glXCreateGLXPbufferSGIX()
    Found glXDestroyGLXPbufferSGIX()
    Found glXQueryGLXPbufferSGIX()
    Found glXSelectEventSGIX()
    Found glXGetSelectedEventSGIX()
    OpenGL version: 1.5.8 NVIDIA 96.31
    OpenGL vendor: NVIDIA Corporation
    OpenGL renderer: GeForce4 Ti 4200 with AGP8X/AGP/SSE/3DNOW!
    Could not find OpenGL ARB shader-program support!
    Segmentation fault (core dumped)

  15. MacSlow Says:

    @ lakerz: No fragment-shaders no go :) But I should not cause a crash there.

  16. lakerz Says:

    ooch :(

  17. bersace Says:

    Hi Mirco,

    Have you heard about Clutter Toolkit ? http://clutter-project.org/

    Regards,
    Étienne.

  18. MacSlow Says:

    @Étienne: Sure.

Leave a Reply