Commit graph

14280 commits

Author SHA1 Message Date
Tim-Philipp Müller
2fe8ebaae6 queue2: fix possible data corruption in ring buffer mode when seeking
Fix race that could cause data corruption when seeking in ring buffer
mode.

In perform_seek_to_offset(), called from the demuxer's pull_range
request, we drop the lock, tell upstream (usually a http source)
to seek to a different offset, then re-acquire the lock before we
do things to the ranges. However, between us sending the seek event
and re-acquiring the lock, the source thread might already have pushed
some data and moved along the range's writing_pos beyond the seek
offset. In that case we don't want to set the writing position back
to the requested seek position, as it would cause data to be written
to the wrong offset in the file or ring buffer.

Reproducible doing seek-emulated fast-forward/backward on 006653.

Conflicts:
	plugins/elements/gstqueue2.c
2012-09-12 12:59:50 +01:00
Tim-Philipp Müller
232fd2953e tests: fix buffer leak in queue2 unit test 2012-09-12 12:33:51 +01:00
Mark Nauwelaerts
9454c8c626 check: remove glib deprecation compatibility trickery 2012-09-12 13:02:06 +02:00
Mark Nauwelaerts
bb4860d961 check: port to the new GLib thread API 2012-09-12 13:01:18 +02:00
Mark Nauwelaerts
47e7c91ab5 tests: port to new GLib thread API 2012-09-12 13:01:18 +02:00
Mark Nauwelaerts
ec4ff874fc tests: benchmarks: align error message with code 2012-09-12 13:01:18 +02:00
Tim-Philipp Müller
221d46f438 pad: expose gst_pad_mode_get_name() and use it in baseparse 2012-09-11 19:51:02 +01:00
Tim-Philipp Müller
2616e70a8b scripts: update for gst-ffmpeg -> gst-libav
Now that we have a gst-libav git repository (symlinked to gst-ffmpeg).
2012-09-11 16:42:58 +01:00
Mark Nauwelaerts
4af5e05309 query: adjust test logic for scheduling mode with flagS 2012-09-11 17:27:03 +02:00
Mark Nauwelaerts
d1567a82ac query: add convenience API to query for scheduling mode and flags 2012-09-11 17:00:09 +02:00
Wim Taymans
00c6fa74f5 events: remove STREAM_CONFIG
We won't be able to implement this so it's better to move it out of the way.
2012-09-11 16:29:12 +02:00
Wim Taymans
5ff4bb3e7c collectpads: clean up header indentation 2012-09-11 16:09:37 +02:00
Wim Taymans
e85dc9cfc8 utils: allow NULL stream_id also when 0 srcpads
We usually first create the stream_id for the stream_start event and then add
the pad to the element. This means that this functions should work when there
are no pads on the element yet.
2012-09-11 11:34:11 +02:00
Tim-Philipp Müller
a85991eeb8 baseparse, typefind: only activate in pull mode if upstream is seekable
Upstream might support pull mode, but only sequential pulls,
which isn't gonna do much for us.

https://bugzilla.gnome.org/show_bug.cgi?id=634927
2012-09-11 01:40:53 +01:00
Tim-Philipp Müller
6c1294f54a porting-to-0.11.txt: some minor fixes 2012-09-10 20:30:32 +01:00
Tim-Philipp Müller
dad67b7af0 sample: free info structure with sample if there is one and fix copy with NULL info structure 2012-09-10 16:52:46 +01:00
Mark Nauwelaerts
edb8bc8865 memory: add padding to GstMapInfo 2012-09-10 12:20:15 +02:00
Mark Nauwelaerts
357cf18fd5 libs: adjust comment style 2012-09-10 12:16:06 +02:00
Mark Nauwelaerts
7fa322d437 gst: remove some defunct commented code 2012-09-10 12:15:54 +02:00
Wim Taymans
faa04cd0bb docs: improve porting doc 2012-09-10 12:00:22 +02:00
Wim Taymans
ae0fdebaca tests: disable deprecation warnings
define GLIB_DISABLE_DEPRECATION_WARNINGS earlier so that it is defined before
the glib headers are loaded or else we trip over the GValueArray deprecations in
gst-inspect.c.
2012-09-10 10:08:09 +02:00
Tim-Philipp Müller
36d5c586b1 controller: fix direct control binding double -> int conversion
Round properly to nearest integer. Fixes controller
unit test on PowerPC G4.
2012-09-07 01:02:10 +01:00
Tim-Philipp Müller
1ead500dad examples: fix bus/fd leak in hello world example
https://bugzilla.gnome.org/show_bug.cgi?id=683470
2012-09-06 15:06:08 +01:00
Tim-Philipp Müller
fe3efe2b75 gst-element-check.m4: fix action-if-found and not-found invocation
Arguments got shifted back by one.
2012-09-05 19:57:02 +01:00
Mark Nauwelaerts
9439e73eec collectpads: handle GAP event 2012-09-05 15:37:13 +02:00
Wim Taymans
42e85953c8 basesink: wait_eos -> wait_event
Fix a FIXME. Now we can also pass the GAP event to the subclass.
2012-09-04 12:13:11 +02:00
Tim-Philipp Müller
38e3d6c7fd examples: update Makefile.am android bits in controller example
Should fix build failure reported on IRC.
2012-09-03 18:45:03 +01:00
Wim Taymans
8f282de37d pad: check sticky events also after pad block
Recheck for sticky events after doing a pad block because the pad block could
have caused a relink and then we need to resend the events to the newly linked
pad.

Fixes things like switching of visualisations.
2012-09-03 11:07:10 +02:00
Tim-Philipp Müller
dcacfb17cb baseparse: update for gst_message_new_duration -> _duration_changed() 2012-09-02 02:04:14 +01:00
Tim-Philipp Müller
f712a9596c message: rename GST_MESSAGE_DURATION -> GST_MESSAGE_DURATION_CHANGED
The duration should be re-queried via a query using the
normal path, we don't want applications to use the value
from the message itself, since it might no match what a
duration query done from the sink upstream might yield.

Also disables duration caching in GstBin. It should be
added back again at some point.
2012-09-02 01:18:58 +01:00
Tim-Philipp Müller
a053bfb6f4 configure: add reminder to remove GST_UNSTABLE_API stuff before 1.0.0 2012-09-01 23:54:23 +01:00
Tim-Philipp Müller
8cd5813fa6 gst-element-check.m4: rename AM_GST_ELEMENT_CHECK to GST_ELEMENT_CHECK
And allow passing of a minimum version (if not needed, pass 1.0).

https://bugzilla.gnome.org/show_bug.cgi?id=682968
2012-09-01 23:32:17 +01:00
Tim-Philipp Müller
4ab9587417 tests: add check for gst-inspect --exists functionality 2012-09-01 23:02:10 +01:00
Tim-Philipp Müller
48541a0b59 tools: add --exists and --atleast-version option to gst-inspect
For checking if an element exists with a given minimum version.
Will use that in our new GST_ELEMENT_CHECK m4 macro.

https://bugzilla.gnome.org/show_bug.cgi?id=682968
2012-09-01 23:02:10 +01:00
Tim-Philipp Müller
5d062480df pluginfeature: disable version mangling for post-1.0.0 release
Just in case we don't grep for FIXME 1.0 before the release.
2012-09-01 23:02:10 +01:00
Jan Schmidt
888d9aa4d3 basesink: Make GAP events actually trigger preroll
Slightly hacky approach needing refinement
2012-08-31 11:31:45 -07:00
Jan Schmidt
5aefdbaf10 gstpad: make some debug statements more verbose 2012-08-31 06:25:38 -07:00
Jan Schmidt
8d8608c23b ghostpad: Make some debugging more verbose
Also, remove an unnecessary #include in input-selector
2012-08-31 06:25:37 -07:00
Jan Schmidt
1f1e4fc30c GstSegment: Fix doc description string last_stop->position 2012-08-31 06:25:37 -07:00
Arnaud Vrac
dc86e65265 inputselector: fix clock leak
https://bugzilla.gnome.org/show_bug.cgi?id=682997
2012-08-30 19:47:57 +01:00
Tim-Philipp Müller
b292dc8401 tools: output gst-inspect errors to stderr 2012-08-29 22:57:26 +01:00
Alban Browaeys
7bf7749c2b value: fix crash serialising a 0 flags value when there's no name for it
Fixes segfault when doing gst-launch-1.0 -v -m camerabin
(encodebin notifies a 0 value for its "flag" property).

https://bugzilla.gnome.org/show_bug.cgi?id=682958
2012-08-29 18:59:21 +01:00
Tim-Philipp Müller
985bc911a2 gst: log performance warning debug message if glib emulates atomic ops 2012-08-24 23:14:57 +01:00
Lionel Landwerlin
a30e637406 gst: use configure-detected or externally provided glib-mkenums
To ease cross-compilation.

https://bugzilla.gnome.org/show_bug.cgi?id=677620
2012-08-23 13:54:39 +01:00
Stefan Sauer
c1a7026252 Automatic update of common submodule
From 668acee to 4f962f7
2012-08-22 13:29:34 +02:00
Stefan Sauer
ccc50681c5 configure: bump gtk-doc req to 1.12 (mar-2009)
This allows us to e.g. unconditionally use gtkdoc-rebase.
2012-08-22 13:16:00 +02:00
Wim Taymans
021e51e7f4 memory: add _make_writable 2012-08-22 09:53:18 +02:00
Tim-Philipp Müller
165a003307 docs: mention some media type changes in porting-to-0.11.txt doc 2012-08-21 00:03:37 +01:00
Tim-Philipp Müller
d1cef85759 docs: minor update to porting doc for child proxy lookup method
And a typo fix.
2012-08-20 13:52:05 +01:00
Wim Taymans
0e4d2814fd allocator: make a copy with the same alignment
When making a copy of the memory allocated from the default memory allocator,
make sure the new copy has the same alignment as the original memory.

See https://bugzilla.gnome.org/show_bug.cgi?id=680796
2012-08-20 11:31:51 +02:00