After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 441264 - queue2 support to do buffering on a file
queue2 support to do buffering on a file
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-base
git master
Other Linux
: Normal enhancement
: 0.10.14
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2007-05-25 19:11 UTC by Thiago Sousa Santos
Modified: 2007-06-05 16:14 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
The patch. (12.31 KB, patch)
2007-05-25 19:11 UTC, Thiago Sousa Santos
none Details | Review
Fixes the previous patch (12.55 KB, patch)
2007-05-29 16:46 UTC, Thiago Sousa Santos
none Details | Review
Updated patch (13.25 KB, patch)
2007-05-29 16:54 UTC, Wim Taymans
none Details | Review
Fixes previous patch. (13.27 KB, patch)
2007-06-01 14:12 UTC, Thiago Sousa Santos
committed Details | Review

Description Thiago Sousa Santos 2007-05-25 19:11:14 UTC
This patch adds the support for queue2 to use a file to buffer stream data when the temp-location property is set to something other than null.

Example:

filesrc location=mymp3.mp3 ! queue2 ! mad ! alsasink
(this will buffer on memory)

filesrc location=mymp3.mp3 ! queue2 temp-location=/tmp/file ! mad ! alsasink
(this will buffer on file "/tmp/file")
Comment 1 Thiago Sousa Santos 2007-05-25 19:11:50 UTC
Created attachment 88818 [details] [review]
The patch.
Comment 2 Thiago Sousa Santos 2007-05-29 16:46:20 UTC
Created attachment 89014 [details] [review]
Fixes the previous patch

The previous patch had a problem while reading buffers from the file, it didn't initialize the offset, timestamp and duration attributes to the default values.

This patch fixes it.
Comment 3 Wim Taymans 2007-05-29 16:54:18 UTC
Created attachment 89017 [details] [review]
Updated patch

Updated patch, make _create block when the queue does not yet have the required data when in temp-file mode.
Comment 4 Thiago Sousa Santos 2007-06-01 14:12:42 UTC
Created attachment 89186 [details] [review]
Fixes previous patch.

Same as previous patch, but fixes the gst_queue_set_temp_location that called GST_OBJECT_LOCK but no UNLOCK.
Comment 5 Wim Taymans 2007-06-05 16:14:45 UTC
        Based on patch by: Thiago Sousa Santos <thiagossantos at gmail dot com>

        * gst/playback/gstqueue2.c: (gst_queue_class_init),
        (gst_queue_init), (gst_queue_finalize),
        (gst_queue_write_buffer_to_file), (gst_queue_have_data),
        (gst_queue_create_read), (gst_queue_read_item_from_file),
        (gst_queue_open_temp_location_file),
        (gst_queue_close_temp_location_file), (gst_queue_locked_flush),
        (gst_queue_locked_enqueue), (gst_queue_locked_dequeue),
        (gst_queue_is_empty), (gst_queue_is_filled),
        (gst_queue_change_state), (gst_queue_set_temp_location),
        (gst_queue_set_property):
        Add support for filebased buffering. Fixes #441264.