[Gstreamer-bugs] [Bug 143030] New: - [PATCH] improve gstplay

bugzilla-daemon at bugzilla.gnome.org bugzilla-daemon at bugzilla.gnome.org
Sun May 23 21:19:35 PDT 2004


http://bugzilla.gnome.org/show_bug.cgi?id=143030
GStreamer | gst-plugins | Ver: HEAD CVS

           Summary: [PATCH] improve gstplay
           Product: GStreamer
           Version: HEAD CVS
          Platform: Other
        OS/Version: Linux
            Status: UNCONFIRMED
          Severity: normal
          Priority: High
         Component: gst-plugins
        AssignedTo: gstreamer-maint at bugzilla.gnome.org
        ReportedBy: rbultje at ronald.bitfreak.net
         QAContact: gstreamer-maint at bugzilla.gnome.org


Just in order to keep this centralized, I'm doing this on bugzilla instead of on
the mailinglist.

The existing gstplay has significant issues. Some are core-related, some are
libgstplay-bugs itself. Several examples:

* issues with audio-only or video-only streams
* time_tick is an idle handler rather than an iterate signal
* getting length is an idle handler rather than inside an iterate signal
* doesn't run in own thread
* uses a very complicated pipeline, even for very simple cases such as
audio-only playback
* has performance issues in several cases, but is very hard to specify single
elements responsible for this
* several people don't want to debug GstPlay issues because of combinations of
the above or other reasons

So, I rewrote small parts to make it work. It has three modes:
* audio
* video
* video + visualization

Audio is for players such as RB or Muine. Video is for video/audio players
(Totem), where it's audio-only in case of audio or audio + video in case of
both. Video + visualization adds visualization to the audio-only case (could be
Totem as well). Visualization can be turned off at one's will (that function
isn't there yet, see below). The basic idea is to keep things simple.

Pipelines in all the cases are described in the pipeline.txt in the attached
patch. It changes ABI/API. I'm sure this is preventable, but I just restarted
mostly from scratch so I didn't look too much at this. Will do later when we've
looked at more important stuff. The pipelines follow the simplicity model, with
some object-model tastes.

This one can playback video, audio, video+audio, all with proper seeking, error
reporting, position/length querying etc. All without any required
glib-loop-stuff, so it can run inside an KDE application (outside a GMainLoop)
as well.

Please post comments. Look at the TODO for unfinished stuff and some ideas of
mine. Visualization is as yet unimplemented.

Oh, and Thomas wanted to implemented gapless song transition, that should be
fairly easy since pipeline setup is centralized in one location, so adding adder
should be very easy.

------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
You are the QA contact for the bug, or are watching the QA contact.




More information about the Gstreamer-bugs mailing list