Mark Nauwelaerts
5f4daa8fd9
dataqueue: fix API documentation typo
2009-10-07 18:51:51 +02:00
Sebastian Dröge
41f7a3fe09
bytewriter: Add a generic byte writer
...
Fixes bug #590669 .
2009-10-07 18:40:31 +02:00
Sebastian Dröge
f4c12be109
bitreader/bytereader: API: Add gst_(bit|byte)_reader_get_size()
...
... and GST_(BYTE|BIT)_READER() casts.
2009-10-07 17:59:51 +02:00
Sebastian Dröge
c7438c738b
bytereader,bitreader: Remove FIXME 0.11 to remove non-inlined functions
...
The normal functions are always useful to have for bindings, especially
runtime-created bindings like Seed or new GObject-Introspection based
Python bindings.
2009-10-07 17:59:51 +02:00
Edward Hervey
ea9b0cedcd
gstdataqueue: new constructor which takes callbacks.
...
This allows us to avoid going through glib's signalling system
2009-10-07 09:32:05 +02:00
Tim-Philipp Müller
d600ce0a29
bytereader: add inline version of gst_byte_reader_skip
2009-10-07 00:52:23 +01:00
Tim-Philipp Müller
6ce1f0cbce
dataqueue, elements: avoid unnecessary runtime type checks
2009-10-06 20:04:10 +01:00
Jan Schmidt
8bf3d8cec2
registry: Support installed/uninstalled plugin-scanner helper
...
Add a simple version check when starting the plugin-scanner so we can
verify we're talking to one that talks the same language.
First try a plugin-scanner in the installed path, then try one via the
GST_PLUGIN_SCANNER env var if that doesn't work.
Update the uninstalled script.
Install the plugin-scanner to the libexec dir
2009-10-06 19:51:44 +01:00
Jan Schmidt
51675e0c2a
registry: Add registry helper phase 1
...
Phase 1 of adding the registry scan helper
2009-10-06 19:51:42 +01:00
Jan Schmidt
274d985472
libgstcheck: Don't use character classes in sed expressions
...
Apparently the sed that ships on Solaris 10 doesn't support character
classes like [:alnum:], so don't use them. We don't need them for the
symbol names that are being extracted anyway.
Also, use $(SED) instead of 'sed'
Fixes : #596877
2009-09-30 16:35:18 +01:00
David Schleef
ebe095420a
Fix out-of-tree build
2009-09-14 12:47:26 -07:00
Sebastian Dröge
3c1f41ee7d
introspection: Build pkgconfig before all libraries and set PKG_CONFIG_PATH
...
This way g-ir-scanner can find the gstreamer-0.10 pkg-config file.
2009-09-12 14:35:09 +02:00
Wim Taymans
b3d262d730
fix whitespace
2009-09-07 18:32:10 +02:00
Wim Taymans
8a19dc610e
adapter: fix whitespace
2009-09-07 18:32:10 +02:00
Tim-Philipp Müller
96a565bdca
bitreader, bytereader: add some FIXME 0.11 comments and fix indenting
2009-09-06 19:44:20 +01:00
Tim-Philipp Müller
4c103b00b5
bytereader: add unchecked and inline versions of the float getters/peekers
...
API: gst_byte_reader_get_float*_unchecked()
2009-09-06 18:51:18 +01:00
Tim-Philipp Müller
31ab124487
bytereader: add inline versions of the most common getters and setters
2009-09-06 18:51:18 +01:00
Tim-Philipp Müller
080b2e4fd5
bytereader: add inlined _unchecked() variants for some functions
...
API: gst_byte_reader_skip_unchecked()
API: gst_byte_reader_peek_*_unchecked()
API: gst_byte_reader_get_*_unchecked()
API: gst_byte_reader_{peek,get,dup}_data_unchecked()
2009-09-06 18:51:13 +01:00
Sebastian Dröge
741a946134
introspection: Strip Gst prefix from all types/functions
2009-09-05 12:30:07 +02:00
Sebastian Dröge
4b7518a4e5
introspection: Fix out-of-tree build
2009-09-05 12:04:59 +02:00
Sebastian Dröge
9f16dc384e
introspection: Fix build if gir-repository is not installed
2009-09-05 11:51:55 +02:00
Sebastian Dröge
19507ce3c8
net: Add gobject-introspection support
2009-09-05 10:28:47 +02:00
Sebastian Dröge
088e424aab
dataprotocol: Add gobject-introspection support
...
Because of a bug in gobject-introspection this is disabled for now.
2009-09-05 10:28:47 +02:00
Sebastian Dröge
bd6c7c97bf
controller: Add gobject-introspection support
2009-09-05 10:28:47 +02:00
Sebastian Dröge
1b37155aa6
check: Add gobject-introspection support
2009-09-05 10:28:47 +02:00
Sebastian Dröge
0bb8634b37
gstbase: Add gobject-introspection support
2009-09-05 10:28:46 +02:00
Tim-Philipp Müller
b9657d7477
docs: fix docs for gst_byte_reader_{get|peek}_float*()
2009-09-04 19:50:39 +01:00
Wim Taymans
bcb9eab392
basesrc: whitespace fixes
2009-09-01 16:52:32 +02:00
Wim Taymans
b6728ca46e
adapter: whitespace fixes
2009-08-28 18:04:54 +02:00
Thijs Vermeir
0dd051eeb3
Check suggested caps for proxy alloc
...
Because we are trying to resolve a suggestion here we don't need
to check on caps for proxy_alloc but we need to check on the
suggested caps instead.
2009-08-28 18:04:50 +02:00
Wim Taymans
378594e520
basesink: whitespace fixes
2009-08-27 12:26:40 +02:00
Wim Taymans
76d9349956
basesrc: return result of _set_caps()
2009-08-24 17:57:16 +02:00
Wim Taymans
989d9861e3
basesink: whitespace fixes
2009-08-24 17:56:32 +02:00
Tim-Philipp Müller
7e6966faf6
check: add some logging before calling gst_task_cleanup_all()
2009-08-10 11:55:35 +01:00
Sebastian Dröge
d465851cb7
check: Call gst_task_cleanup_all() in GST_END_TEST
...
This fixes many unit tests under valgrind that shows
leaking GstTasks that are not really leaked but just
not unreffed by the task thread before the unit test
stopped.
Fixes bug #591045 .
2009-08-08 22:29:03 +02:00
Edward Hervey
8eb9d55627
basesink: Remove dead assignments
2009-08-08 14:47:57 +02:00
Tim-Philipp Müller
e398ad07f8
check: add internal-check.h to BUILT_SOURCES in attempt to fix the build
...
For some people the build of libgstcheck was broken because the make
target that creates the internal-check.h file wasn't executed for
some reason. This should hopefully fix this.
2009-08-06 20:43:55 +01:00
Tim-Philipp Müller
2d42fd4a2f
check: fix symbol exporting
2009-08-06 17:27:25 +01:00
Tim-Philipp Müller
572b213b79
check: fix issues with 'make distcheck'
...
Seems to work now, at least on *nix. One of the configure checks
caused these weird issues - but which one?
2009-08-06 17:27:24 +01:00
Tim-Philipp Müller
ecbea36d39
check: use private copy of check for libgstcheck
...
See #577275 . Seems to work fine, but doesn't distcheck yet.
2009-08-06 17:27:12 +01:00
Tim-Philipp Müller
a209779f1c
check: add internal copy of check-0.9.6
...
Not hooked up yet. See #577275 .
2009-08-06 14:26:32 +01:00
Stefan Kost
04470fc794
basetransform: use new _caps_can_intersect()
2009-08-06 15:30:33 +03:00
Stefan Kost
cfacd2cbb3
basetransform: only check caps_is_fixed() if they changed
...
The previous code could call gst_caps_is_fixed() for the same caps many times.
2009-08-06 15:30:33 +03:00
Wim Taymans
a2a973eafd
basetransform: clarify _caps_is_equal()
2009-08-06 10:53:25 +02:00
Wim Taymans
ec4d259b67
basetransform: refactor metadata modifications
...
Check when we need to touch the metadata of the output buffer after selecting
the output buffer so that we have everything in one place.
Also take flags and timestamp modifications into account.
2009-08-06 10:53:22 +02:00
Wim Taymans
db6ce33e3a
basetransform: enable optimisation
...
When we have the same input as output caps, reuse the input caps object. After
the caps refcounting has been sorted out now, we can finally enable this
optimisation.
2009-08-06 10:53:07 +02:00
Wim Taymans
6cf64beb79
basetransform: fix refcounting problem
...
Add some more debug info.
Make sure that the output buffer has writable metadata before we attempt to set
caps on it.
fixes #583999
2009-08-06 10:52:34 +02:00
Wim Taymans
575e1de88b
basesink: cleanups in position queries
...
Use existing boolean flag to pass position queries upstream. Also add upstream
queries for the last position queries.
2009-08-06 10:45:30 +02:00
Stian Selnes
6033efb920
basesink: Query upstream for the position if conversion in PAUSED failed
...
Fixes bug #590045 .
2009-08-06 06:41:57 +02:00
Kipp Cannon
6bc2bf8307
basetransform: Improve debug output in gst_base_transform_acceptcaps()
...
Fixes bug #589524 .
2009-08-06 06:41:57 +02:00
Sebastian Dröge
6fd97a6d64
basetransform: Don't unset GAP flag if working in passthrough mode
...
Fixes bug #589314 .
2009-08-06 06:41:57 +02:00
Mark Nauwelaerts
eeb6d810bc
bytereader: avoid wrap-around in buffer size checks. Fixes #590622 .
2009-08-03 20:55:21 +02:00
Edward Hervey
cfb22080e2
collectpads: Get the flushing state with the object lock taken.
...
Fixes #590056
2009-07-29 11:50:17 +02:00
Edward Hervey
c138aa8648
collectpads: Make sure the CollectData list is up-to-date when reading/setting it
...
Without this, we risked:
* Checking the flushing state on an unexisting list
* Not setting the flushing state on pads that had just been added
Partially fixes #590056
2009-07-29 11:50:06 +02:00
Edward Hervey
fcbba9b15a
collectpads: Split out _check_pads into a version without lock taking.
...
This is so we can use _check_pads in places where we've already taken
the lock in question.
Partially fixes #590056
2009-07-29 11:49:39 +02:00
Tim-Philipp Müller
623c19983a
check: make new GstStreamConsistency structure private
...
There's no need to have GstStreamConsistency in a public header for
the time being, so make it private. While we're at it, add a gtk-doc
blurb for it though. Re-fixes #588744 .
2009-07-28 15:26:42 +01:00
Robin Stocker
527da05476
basesrc: don't handle SEEKING queries for formats that don't match the one the source operates in
...
Return FALSE in basesrc's default query handler when we get a SEEKING query for
a format that's not the one the source operates in. Previously (ie. before, in
the git version) we would return TRUE in that case and seekable=FALSE, which
is more correct, but causes backwards compatibility problems. (Before that
we would change the format of the query when answering, which was completely
broken since callers don't expect that or check for it). Since the SEEKING
query is a fairly recent addition, not all demuxers, parsers and decoders
implement it yet, in which case any SEEKING query by an application will
just be passed upstream where it will then be handled by basesrc. Now, if
e.g. totem does a SEEKING query for TIME format and we have a demuxer that
doesn't implement the query, basesrc would answer it with seekable=FALSE in
most cases, and totem can only take that as authoritative answer, not knowing
that the demuxer doesn't implement the SEEKING query. To avoid this, we make
basesrc return FALSE to SEEKING queries in unhandled formats. That way
applications like totem can fall back on assuming seekability depending on
whether a duration is available, or somesuch. Downstream elements doing
such queries are likely to equate an unhandled query with a non-seekable
response as well, so this should be an acceptable fix for the time being.
See #584838 , #588944 , #589423 and #589424 .
2009-07-24 11:54:31 +01:00
Wim Taymans
141e2af580
basesrc: make tag queuing threadsafe
...
See #588745
2009-07-20 13:40:16 +02:00
Edward Hervey
dcdc73d182
gstcheck: Add a stream consistency checking helper routine. Fixes #588744
2009-07-20 10:46:19 +02:00
Edward Hervey
1d0c6a669f
basesrc: Serialize tags into the dataflow. Fixes #588745
2009-07-20 08:49:43 +02:00
Tim-Philipp Müller
79c8e24885
docs: fix API docs for gst_{adapter|byte_reader}_masked_scan_uint32
...
Clarify byte reader docs a bit: offset is relative to the current
position of the reader, not to the start of the data. Also, the
examples in both the adapter docs and the byte reader docs have
the mask and pattern arguments swapped (see #587561 ). Spotted
by Carl-Anton Ingmarsson.
2009-07-16 14:17:03 +01:00
Stefan Kost
3ce0c64b45
basetransform: take size once
2009-07-14 08:32:24 +02:00
Stefan Kost
cfae0c15e7
collectpads: make it the best of wims and edwards patch.
...
Check the right flushing flag, but still add it to the pad-list.
2009-07-07 00:23:41 +01:00
Stefan Kost
2288f9f6ec
basetransform: make comment a FIXME comment
2009-07-06 19:52:44 +01:00
Stefan Kost
4bfb312e13
logging: use perf category for dropped buffers
2009-07-06 19:52:44 +01:00
Edward Hervey
e6d949328f
collectpads: Don't forward FLUSH_STOP if some input streams are still flushing.
...
This guarantees that only one FLUSH_STOP event (the last one) will be sent
downstream when a flushing seek is being done through collectpads.
2009-07-05 21:24:42 +02:00
Edward Hervey
ed18ceffe6
collectpads: Update the cookie when setting ourselves as flushing.
...
This forces the pad status to be re-evaluated on the next _check_pads().
2009-07-04 17:17:18 +02:00
Tim-Philipp Müller
4d76b175ef
docs: fix gtk-doc /*< private >*/ marker
2009-07-02 01:18:57 +01:00
Edward Hervey
53b09c392a
libs/controller: Set default gst debugging category.
2009-06-29 12:07:36 +02:00
Wim Taymans
92b0f32d74
bufferlist: use faster gst_buffer_list_get()
...
Use the faster gst_buffer_list_get() to get the first buffer of a list.
2009-06-29 11:56:10 +02:00
Ognyan Tonchev
27fe127e76
basesink: take timestamp later
...
Make sure we don't accidentally cast a bufferlist of a buffer and try to take
the timestamp of it.
Refixes #585960
2009-06-29 11:46:00 +02:00
Stefan Kost
3e21ddf81f
logging: add a performace log category
...
This category can be used to log slow code path and help auditing the
performance. Add FIXME-0.11 to some questionable categories.
2009-06-29 11:28:01 +03:00
Tim-Philipp Müller
31ff42de21
basesink: don't do things with side effects within a g_assert()
...
Make the bufferlist stuff work properly when things are compiled
with -DG_DISABLE_ASSERT.
2009-06-25 11:25:46 +01:00
Tim-Philipp Müller
6b64d41937
bytereader: add a bunch of utility functions for strings and a data dup function
...
API: gst_byte_reader_dup_data
API: gst_byte_reader_dup_string
API: gst_byte_reader_dup_string_utf8
API: gst_byte_reader_dup_string_utf16
API: gst_byte_reader_dup_string_utf32
API: gst_byte_reader_skip_string
API: gst_byte_reader_skip_string_utf8
API: gst_byte_reader_skip_string_utf16
API: gst_byte_reader_skip_string_utf32
API: gst_byte_reader_peek_string
API: gst_byte_reader_peek_string_utf8
API: gst_byte_reader_get_string
API: gst_byte_reader_get_string_utf8
And some basic unit tests. Fixes #586568 .
2009-06-23 02:17:48 +01:00
Wim Taymans
dd3e2b557e
collectpads: use the right flushing flag.
...
We need to use the pad private flag because the other pad flag is protected with
the pad lock instead.
2009-06-18 16:50:42 +02:00
Edward Hervey
a295d22575
collectpads: Properly handle flushing pads.
...
If a pad is flushing, it should not be considered as either eos or
containing data.
2009-06-18 16:43:27 +02:00
Wim Taymans
c88e05c861
basesink: add Since tag for new method
2009-06-16 13:34:38 +02:00
Branko Subasic
de5bcfc4cd
basesink: add support for buffer list
...
Fixes #585960
2009-06-16 13:32:37 +02:00
Wim Taymans
6a1d8feccc
collectpads: fix .h indentation
2009-06-15 18:44:14 +02:00
Wim Taymans
4c990aab3a
basesrc: add some more debug
2009-06-15 18:43:52 +02:00
Tim-Philipp Müller
674447fafe
bytereader: add gst_byte_reader_masked_scan_uint32()
...
Add a pattern scan function similar to the one recently added to
GstAdapter, and a unit test (based on the adapter one).
Fixes #585592 .
API: add gst_byte_reader_masked_scan_uint32()
2009-06-13 10:53:49 +01:00
Wim Taymans
25067558dc
stepping: more stepping improvements
...
Update design doc with step-start docs.
Add eos field to step done message
when stepping in reverse, update the segment time field.
Flush out the current step when we are flushing.
2009-06-12 13:20:36 +02:00
Wim Taymans
23b772664b
basesink: post step-start
...
when we clip, also stop the stepping.
Don't do QoS when stepping
Post step-start when queueing and activating the step.
2009-06-12 13:16:29 +02:00
Wim Taymans
6e633cbe33
basesink: update segment start/stop for clipping
...
When we start stepping, store the start/stop values of the segment before we
install new start/stop values for clipping in non-flushing steps.
for non-flushing steps, update the element start time. For flushing steps, it
does not change because running_time does not advance
Make sure we always perform the stop_stepping operations even when we drop
frames.
2009-06-09 12:06:35 +02:00
Wim Taymans
72e8d9909c
basesink: do proper clipping in stepping
...
Update the stop position of the segment so that we clip correctly.
After clipping in non-flushing mode, rerender the remainder of the buffer.
2009-06-09 10:25:34 +02:00
Wim Taymans
89c42f8506
stepping: do flushing steps correctly
...
Note in the docs that a flushing step in PLAYING brings the pipeline to the lost
state and skips the data before prerolling again.
Implement the flushing step correctly by invalidating the current step
operation, which would activate the new step operation.
2009-06-08 17:41:56 +02:00
Jan Schmidt
f0f9ed875f
basesink: Change awkward wording in a translateable message.
2009-06-08 16:16:27 +01:00
Wim Taymans
a4c6d04b4c
basesink: add non-flushing steps
...
Add support for non-flushing steps and with different rates.
Clear step info when flushing
2009-06-08 16:27:36 +02:00
Mark Nauwelaerts
4bb3702886
basesrc: reply to QUERY_SEEKING with original format. Fixes #584838 .
2009-06-05 16:01:27 +02:00
Wim Taymans
fa7db7d247
basesink: fix clipped start/stop after step
...
Use the segment helpers to get a more accurate clipped start/stop position after
a stepping operation ended.
2009-06-04 17:27:03 +02:00
Wim Taymans
957e40343d
basesink: use more correct segment methods
...
Use the more correct new segment methods for updating the segment before and
after a step.
2009-06-04 12:53:23 +02:00
Wim Taymans
a907f8d145
basesink; handle EOS correctly.
...
Handle EOS and buffers without a timestamp gracefully.
Remove a warning that is not so much a warning now anymore.
2009-06-03 15:39:13 +02:00
Wim Taymans
c811d51471
basesink: forget previous times when stepping
...
When we start a flushing step operation, forget about the previous stream time
so that the position reporting works correctly.
2009-06-03 10:39:53 +02:00
Wim Taymans
71a5ebe638
basesink: fix regression in unit tests
...
Store the timestamp of the buffer after prerolling. While we are prerolled we
want to report the position of the segment start value.
2009-06-02 15:37:22 +02:00
Wim Taymans
484d188440
basesink: post a warning on excessive framedrops
...
When we go into emergency rendering, post a warning informing the user about
this fact.
2009-06-01 19:37:14 +02:00
Wim Taymans
5479772bec
basesink: more stepping in reverse
...
Fix stepping and position reporting in reverse playback.
2009-06-01 13:37:29 +02:00
Wim Taymans
8c54c70d9c
basesink: use start_time as the step start
...
Use the start_time of the element as the point from where the step operation
starts. This fixes stepping in all paused states.
2009-06-01 13:37:29 +02:00
Wim Taymans
642bb32196
basesink: catch step cases in _wait_preroll()
...
When a subclass is blocking in _wait_preroll() in the _render method, make sure
we can unlock the subclass and detect this return value from the render method.
2009-06-01 13:37:29 +02:00
Wim Taymans
1caab05238
basesink: more stepping in reverse fixes
2009-06-01 13:37:28 +02:00
Wim Taymans
4be27fa555
basesink: small cleanups
2009-06-01 13:37:28 +02:00