[gstreamer-bugs] [Bug 640153] New: [souphttpsrc] enable save-to-disk while playing HTTP streaming

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Fri Jan 21 01:27:33 PST 2011


https://bugzilla.gnome.org/show_bug.cgi?id=640153
  GStreamer | gst-plugins-good | git

           Summary: [souphttpsrc] enable save-to-disk while playing HTTP
                    streaming
    Classification: Desktop
           Product: GStreamer
           Version: git
        OS/Version: Linux
            Status: UNCONFIRMED
          Severity: enhancement
          Priority: Normal
         Component: gst-plugins-good
        AssignedTo: gstreamer-bugs at lists.sourceforge.net
        ReportedBy: jia-cheng.hu at intel.com
         QAContact: gstreamer-bugs at lists.sourceforge.net
      GNOME target: ---
     GNOME version: ---


Created an attachment (id=178916)
 View: https://bugzilla.gnome.org/attachment.cgi?id=178916
 Review: https://bugzilla.gnome.org/review?bug=640153&attachment=178916

patch for souphttpsrc to enable save-to-disk

Users could save HTTP streaming content while watching it and they can watch it
again later by playing the file saved earlier.
Since souphttpsrc is the actual element doing HTTP download, and it knows the
offset when seek happens.  So I modified this plugin to save content being
downloaded.

I added one property in souphttpsrc, save-to-path, and when this property is
set, the content will be saved to the path specified.  If save-to-path is NOT
set, the streaming content will NOT be saved. for example:

    gst-launch souphttpsrc location=http://some.address.com/meego-demo.mp4
save-to-path=/home/meego/ ! decodebin ! ffmpegcolorspace ! xvimagesink

by executing the command, not only is http://some.address.com/meego-demo.mp4
being played, but also a file, meego-demo.mp4, is saved locally to /home/meego/

in addtion, in some cases when souphttpsrc is not directly used and it is not
straightforward to set properties as the example above. for example,
souphttpsrc could be dynamically assembled by a playbin2 to form a pipeline.
e.g.

    pipeline = gst_element_factory_make("playbin2", "playbin");
    g_object_set(G_OBJECT(pipeline), "uri",
"http://some.address.com/meego-demo.mp4", NULL);

apparently there is no appropriate property to set in playbin2 to pass along
the 'save-to-disk' property.  to address this, I have an element message with
structure name, prepare-save-to-path, posted during gst_soup_http_src_start, so
that whoever catches this message can get a hold of souphttpsrc and set the
property, 'save-to-path', accordingly.

file modified:
ext/soup/gstsouphttpsrc.h
ext/soup/gstsouphttpsrc.c

-- 
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.




More information about the Gstreamer-bugs mailing list