Commit graph

1627 commits

Author SHA1 Message Date
Wim Taymans a21575d640 plugins: print flags better
print the buffer flags as a hex number so that it becomes easier to see what
flags are set.
2012-07-23 13:40:38 +02:00
Wim Taymans b5caa93f6d queue2: set buffering-left to 0 on 100% buffering
Set the buffering-left field in the query to 0 when we are completely buffered.
Improve the debug.
2012-07-19 12:42:05 +02:00
Wim Taymans 60091bf225 queue2: fix buffering query
Fix the buffering query, fill in the right buffering-left and estimated-total
values.
2012-07-19 12:14:29 +02:00
Wim Taymans 14550f2ee2 queue2: fix the buffering-left in the buffering message
The buffering-left field in the buffering message should contain a time estimate
in milliseconds about for long the buffering is going to take. We can calculate
this value when we do rate_estimates.
2012-07-19 11:13:45 +02:00
Tim-Philipp Müller eecaca9140 queue: answer SCHEDULING query
Instead of letting the default query handler fail.
2012-07-18 09:15:51 +01:00
Tim-Philipp Müller 39054884fd queue2: handle CAPS event and drop it if operating in ring buffer mode
Fixes "Unexpected event of kind caps can't be added in temp file"
warning when doing download buffering.
2012-07-17 19:27:44 +01:00
Tim-Philipp Müller f72ba83a84 plugins: embed GstAueueArray in dataqueue struct as well 2012-07-14 20:33:30 +01:00
Tim-Philipp Müller 92cba34e0b plugins: don't use one-time array in plugin_init 2012-07-14 20:28:54 +01:00
Tim-Philipp Müller 22d78bad25 queue: embed GstQueueArray structure 2012-07-14 20:26:23 +01:00
Tim-Philipp Müller 14632db174 plugins: sprinkle some more G_GNUC_INTERNAL 2012-07-14 20:05:53 +01:00
Tim-Philipp Müller 2b17de7504 plugins: add init/clear functions to GstQueueArray 2012-07-14 19:38:39 +01:00
Tim-Philipp Müller 94f6ba9c0b base: make GstQueueArray private to coreelements for now
Keep it private until we have a reason to make it public.
2012-07-14 19:36:02 +01:00
Edward Hervey d3ffa82639 Remove 0.10-related documentation and "Since" markers 2012-07-10 12:03:27 +02:00
Tim-Philipp Müller c51a2c1ddf basesrc, basesink, baseparse, typefind: use GST_SEGMENT_FLAG with segment flags 2012-07-09 21:51:07 +01:00
Tim-Philipp Müller a8d5665db7 plugins: sprinkle G_GNUC_INTERNAL for dataqueue functions
And remove padding, since this is not public API any more.
2012-07-09 20:55:39 +01:00
Sebastian Dröge af73f3fc02 queue: Fix handling of min-threshold and serialized queries
Only consider the queue empty if the minimum thresholds
are not reached and data is at the queue head. Otherwise
we would block forever on serialized queries.

This also makes sending of serialized events, like caps, happen
faster and potentially improves negotiation performance.

Fixes bug #679458.
2012-07-09 15:40:29 +02:00
Tim-Philipp Müller dcc35b9c67 typefindelement: remove unimplemented maximum property 2012-07-06 11:26:14 +01:00
Tim-Philipp Müller 388237756e tee: remove unimplemented has-sink-loop property 2012-07-06 11:26:14 +01:00
Tim-Philipp Müller 41a762adb3 queue2: remove deprecated temp-location use, make it read-only 2012-07-06 11:26:14 +01:00
Tim-Philipp Müller b23185a73a identity: remove deprecated check-perfect property
Replaced by the more specific check-imperfect-{timestamp,offset}
2012-07-06 11:26:14 +01:00
Edward Hervey 31accf2d01 dataqueue: Use GstQueueArray 2012-07-04 17:46:54 +02:00
Edward Hervey 96b9ae287e queue: Use new GstQueueArray for local storage.
Makes _chain() and _loop() 25% faster
2012-07-04 17:46:54 +02:00
Chun-wei Fan cb5e8f2bb4 fdsink.c: fix G_OS_WIN32 #ifdef
Postpone the #ifdef to a point after glib.h (via gstfdsink.h) is included
so that the needed defines and header includes can be done correctly,
especially on Visual C++ builds.

https://bugzilla.gnome.org/show_bug.cgi?id=679112
2012-07-02 12:05:50 +01:00
Tim-Philipp Müller 31976c426e inputselector: remove some dead code for old GLib versions 2012-06-26 17:30:19 +01:00
Thiago Santos 42fab9db45 inputselector: avoid notify-tags holding lock
unlock before issuing this notification to prevent
deadlocks when other elements reacts to new tags.

Fixes #678220
2012-06-21 11:15:07 -03:00
Wim Taymans 76e8b2ecda task: add GDestroyNotify to _new
Add a GDestroyNotify to the user_data we pass to gst_task_new()
Change gst_pad_start_task() to also take the notify
2012-06-20 10:31:49 +02:00
Sebastian Dröge 7b966e4577 inputselector: Only proxy the allocation query for the active pad and send reconfigure events to the old/new pad when switching pads 2012-06-19 10:32:10 +01:00
Wim Taymans 7fb522718e queue2: fix percent scaling
Use _scale functions to scale the percent values.
Correctly scale the percent values in the buffering ranges.
2012-06-15 15:36:41 +02:00
David Svensson Fors 066b515985 gstfunnel: avoid access of freed pad
Save the value of the pad's got_eos in gst_funnel_release_pad,
before calling gst_element_remove_pad. This is because
gst_element_remove_pad may free the pad.

https://bugzilla.gnome.org/show_bug.cgi?id=678017
2012-06-14 14:10:22 +01:00
Matej Knopp b3cee7155a typefindelement: Only send caps when pad is being activated
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=677819
2012-06-11 10:47:40 +02:00
Sebastian Dröge 8d6ead8038 elements: Use gst_pad_set_caps() and don't ignore its return value 2012-06-08 15:45:38 +02:00
Wim Taymans 70c3a752be queue2: remove obsolete caps code 2012-06-05 09:40:14 +02:00
Andre Moreira Magalhaes (andrunko) 83559a5970 inputselector: Correctly get current running time when syncing to the segment information
Fixes bug #677263.
2012-06-01 16:37:50 +02:00
Mike Ruprecht a71f3ce6e8 funnel: Only emit EOS event if all sinkpads have received one
If multiple sources are plugged into the funnel and one of the
sources emits an EOS, that event is propogated through the funnel
even though other sources connected to the funnel may still be
pushing data. This patch waits to send an EOS event until the
funnel has received an EOS event on each sinkpad.

Ported from d397ea97 in 0.10 branch.
2012-05-31 13:39:05 -04:00
Mike Ruprecht 18a73b8ef2 funnel: Fix buffer leak 2012-05-31 13:07:53 -04:00
Andre Moreira Magalhaes (andrunko) 0dca0dac71 inputselector: Don't try to sync on the segment if it has no TIME format
...and wait until it is actually configured and has a format before
trying to sync.
2012-05-31 17:46:23 +02:00
Sebastian Dröge 7aff9dba0e inputselector: No need to broadcast the signal in flush-stop
Everything stopped at this point already.

Conflicts:

	plugins/elements/gstinputselector.c
2012-05-31 17:05:08 +02:00
Bastien Nocera 6654bd0300 queue2: Fix property name in the docs
temp-template, not temp-tmpl

https://bugzilla.gnome.org/show_bug.cgi?id=677170
2012-05-31 12:56:22 +02:00
Andre Moreira Magalhaes (andrunko) 2f6dadaa7c inputselector: Properly sync when changing streams
This adds properties to use the clock time for deciding when
to drop buffers for inactive pads and a property to buffer all
not rendered buffers for the active pad to allow pad switching
without losing any buffers at all.

Conflicts:

	plugins/elements/gstinputselector.c
2012-05-31 12:38:20 +02:00
Tim-Philipp Müller cd3875857e gst_tag_list_free() -> gst_tag_list_unref() 2012-05-28 00:08:18 +01:00
Tim-Philipp Müller b259b5c476 fakesrc: put byte position rather than buffer count into GST_BUFFER_OFFSET
If we're sending a segment in BYTE format, the offset
should be in bytes as well.
2012-05-24 23:33:14 +01:00
Tim-Philipp Müller a49b9a9946 filesrc: remove references to mmap in comments and debug messages 2012-05-15 19:12:58 +01:00
Alban Browaeys 10396f12d4 typefindelement: if sink pad is activated do not change mode
In commit bf0964b6 a check for pad is activated was not carried.
This leads to attempt to pull while in push mode when force_caps
is set. In this case without the attached check even when activated
in pull mode we activate back to push mode.

This is from comment in previous code , case number eight:
 8. if the sink pad is activated, we are in pull mode. succeed.
-     otherwise activate both pads in push mode and succeed.

Putting it back fixes playback of webm in webkit+gstreamer 1.0 .

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=676003
2012-05-14 12:56:05 +02:00
Raimo Järvi 63234a9dab gst: Fix compiler warnings on mingw-w64
https://bugzilla.gnome.org/show_bug.cgi?id=675525
2012-05-09 09:35:35 +02:00
Руслан Ижбулатов 8a962bc1ab filesrc: rearrange sys/stat.h inclusion point for MinGW
gstplugin.h used to include this for us, but doesn't any longer.

https://bugzilla.gnome.org/show_bug.cgi?id=675171
2012-04-30 21:35:02 +01:00
Руслан Ижбулатов f771d4619e tee: Remove unneeded unlock 2012-04-18 13:43:32 +02:00
Sebastian Dröge 014d10391c inputselector: Set sequence number on segment events 2012-04-16 10:27:29 +02:00
Sebastian Dröge 3146282d48 inputselector: Forward all sticky events when switching pads 2012-04-16 10:22:53 +02:00
Sebastian Dröge d2811b19f2 tee: Store pad state directly inside the pads instead of GObject qdata 2012-04-16 10:05:02 +02:00
Sebastian Dröge 655bfbf776 inputselector: Send reconfigure event on the new active pad when pads are switched 2012-04-16 09:46:49 +02:00