Wim Taymans
2ea32f3ab5
basesink: handle sync of EOS after item without duration
...
After a buffer or GAP without duration, an EOS event should be rendered
immediately instead of waiting for the end of the segment.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=692868
2013-02-05 17:22:37 +01:00
Stefan Sauer
fba696eb05
docs: update the controller docs
...
Add the control bindings to the docs. Add a little more detail.
2013-02-01 22:00:18 +01:00
Tim-Philipp Müller
3f8eff5c7e
dataqueue: can't pass a GType through GINT_TO_POINTER
...
Use GSIZE_TO_POINTER instead. sizeof(GType) may be larger
than sizeof(gulong) and sizeof(int), so the casts may
chop off some bits from the GType value on some architectures.
2013-01-30 13:06:44 +00:00
Tim-Philipp Müller
ae8940e6f7
queuearray: make _find() find the value if no compare function is provided
...
Allow NULL as compare function for direct value lookup.
https://bugzilla.gnome.org/show_bug.cgi?id=692691
2013-01-30 12:07:52 +00:00
Alexander Schrab
5a7c1b56dc
queuearray: fix gst_queue_array_find()
...
https://bugzilla.gnome.org/show_bug.cgi?id=692691
2013-01-30 11:24:55 +00:00
Alexander Schrab
af8ff1bed8
queuearray: fix gst_queue_array_drop_element()
...
https://bugzilla.gnome.org/show_bug.cgi?id=692691
Conflicts:
libs/gst/base/gstqueuearray.c
2013-01-30 11:24:35 +00:00
Sreerenj Balachandran
0c643e2cf7
docs: align the comments correctly with the declaration in bitreader docs
...
https://bugzilla.gnome.org/show_bug.cgi?id=692809
2013-01-29 15:43:05 +00:00
Wim Taymans
e697254fc1
basesrc: handle renegotiation correctly
...
Don't retry to negotiate when we fail to negotiate but instead produce a
NOT_NEGOTIATED error. We only want to retry negotiation if the result from
gst_pad_push() returned NOT_NEGOTIATED.
2013-01-29 09:52:16 +01:00
Niv Sardi
4adee0dee2
basesrc: set NEED_RECONFIGURE flag if negotiate fails
...
When negotiation fails, mark the pad as needing a reconfigure again so
that it gets picked up again next time.
Signed-off-by: Niv Sardi <xaiki@evilgiggle.com>
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=691986
2013-01-24 09:21:01 +01:00
Tim-Philipp Müller
e90d2710b3
docs: add a note to the gst_adapter_take_buffer() docs about buffer flags
...
https://bugzilla.gnome.org/show_bug.cgi?id=682110
2013-01-16 17:24:42 +00:00
Tim-Philipp Müller
64eee27ebc
Use GST_*_1_0 environment variables everywhere
...
The _1_0 suffixed environment variables override the
non-suffixed ones, so if we're in an environment that
sets the _1_0 suffixed ones, such as jhbuild, we need
to set those to make sure ours actually always get
used.
2013-01-15 13:47:32 +00:00
Tim-Philipp Müller
5ea8937f56
docs: minor GstBaseParse docs fixes
...
Expose docs for gst_base_parse_finish_frame().
2013-01-14 20:05:23 +00:00
Wim Taymans
30010356f2
typefind: handle map failure
2013-01-14 17:01:22 +01:00
Wim Taymans
27832606e5
basesrc: handle map failure
2013-01-14 17:00:46 +01:00
Wim Taymans
bac5ba632e
adapter: handle map failure
2013-01-14 17:00:23 +01:00
Tim-Philipp Müller
1702623b20
baseparse: add vfuncs to intercept queries
...
Useful for video parses that want to attach matter or
find out if downstream supports certain metas.
API: GstBaseParseClass::src_query()
API: GstBaseParseClass::sink_query()
https://bugzilla.gnome.org/show_bug.cgi?id=691475
2013-01-13 14:45:31 +00:00
Tim-Philipp Müller
2b1facfe1d
baseparse: fix up name of default event vfuncs
2013-01-12 20:54:26 +00:00
Sebastian Dröge
925bdaa836
basesink: Initialize uninitialized variable
2013-01-03 10:17:11 +01:00
Thijs Vermeir
67fab5eaa5
adapter: return gssize from gst_adapter_masked_scan_* functions
...
As the return value of this function is -1 when the match is not found
2013-01-02 10:40:38 +01:00
Sebastian Dröge
c859a1719c
basesink: Check if buffers are too late before calling prepare/prepare_list
...
https://bugzilla.gnome.org/show_bug.cgi?id=690936
2013-01-01 10:48:56 +01:00
Arnaud Vrac
4a1ff7fa95
baseparse: fix invalid output timestamps in some cases
2012-12-17 12:26:14 +01:00
Wim Taymans
fac7eb0a50
NEWSEGMENT -> SEGMENT
2012-12-14 15:24:30 +01:00
Wim Taymans
6e6fc159a7
basesrc: call _stop when start failed
...
When we failed to complete the start, call stop again. This makes sure that all
successfull calls to _start are paired with a _stop.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=687845
2012-12-13 14:48:35 +01:00
Sebastian Dröge
e58dabc750
libs: Use foo/foo.h as single-include header consistently everywhere
...
https://bugzilla.gnome.org/show_bug.cgi?id=688785
2012-12-12 16:44:14 +00:00
Wim Taymans
7518960829
baseparse: pass DTS and PTS to handle_buffer
...
This makes it handle the timestamps correctly and avoids using a wrong timestamp
for the output.
2012-12-11 16:46:18 +01:00
Wim Taymans
6c99839d89
baseparse: improve debug
...
Add pts and dts in debug log
2012-12-11 16:46:01 +01:00
Wim Taymans
98d084df69
adapter: fix 0.10 docs to make more sense in 1.0
2012-12-05 14:24:14 +01:00
Wim Taymans
89d6ac116c
adapter: fix docs for 1.0
...
Add parent to chain function signature and use it.
2012-12-05 14:03:27 +01:00
Tim-Philipp Müller
e43ebd685d
dataqueue: reduce debug log spam a bit
...
Log locking/unlocking with TRACE debug level.
2012-11-25 18:11:38 +00:00
Tim-Philipp Müller
b9386d7659
testclock: remove unnecessary include
2012-11-23 13:34:24 +00:00
Evan Nemerson
1afb1f12ef
libs: Add missing single include headers and use them in GIRs
2012-11-21 11:00:40 +01:00
Wim Taymans
ffd64becb1
basesink: add some debug
2012-11-20 16:23:56 +01:00
Wim Taymans
1471489104
basesink: reset START_TIME when needed
...
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=685870
2012-11-20 16:23:56 +01:00
Arnaud Vrac
94185ec94a
baseparse: forward stream-start event in push mode
2012-11-20 12:46:31 +01:00
Tim-Philipp Müller
fa368f2aa3
testclock: port to new GLib threading API
2012-11-14 10:55:15 +00:00
Tim-Philipp Müller
abc805ca95
tests: gst_adapter_prev_timestamp -> gst_adapter_prev_pts
...
https://bugzilla.gnome.org/show_bug.cgi?id=675598
2012-11-13 23:11:34 +00:00
Tim-Philipp Müller
c6cc50e6de
testclock: minor cleanups, add since markers for gtk-doc
...
https://bugzilla.gnome.org/show_bug.cgi?id=683012
2012-11-13 22:43:04 +00:00
Sebastian Rasmussen
4eeb471e11
check: allow GstTestClock to handle clock notifications
...
API: gst_test_clock_peek_id_count()
API: gst_test_clock_has_id()
API: gst_test_clock_peek_next_pending_id()
API: gst_test_clock_wait_for_next_pending_id()
API: gst_test_clock_wait_for_pending_id_count()
API: gst_test_clock_process_next_clock_id()
API: gst_test_clock_get_next_entry_time()
https://bugzilla.gnome.org/show_bug.cgi?id=683012
2012-11-13 21:47:01 +00:00
Tim-Philipp Müller
77005be192
check: add dependency on gstcheck header files for exports.sym
...
So exports.sym gets updated correctly, and our new symbols get
exported correctly, which makes g-ir-scanner much happier in
terms of linking.
https://bugzilla.gnome.org/show_bug.cgi?id=683012
2012-11-13 21:46:32 +00:00
Sebastian Rasmussen
e58da2a22d
check: add GstTestClock as a deterministic clock for testing
...
API: GstTestClock
API: gst_test_clock_new()
API: gst_test_clock_new_with_start_time()
API: gst_test_clock_set_time()
API: gst_test_clock_advance_time()
https://bugzilla.gnome.org/show_bug.cgi?id=683012
2012-11-13 21:19:57 +00:00
Tim-Philipp Müller
b1cb17ab2f
basesrc: fix debug message
2012-11-13 20:45:48 +00:00
Wim Taymans
d8413cd0a2
basesink: add simple rate control
...
Add a max-bitrate property that will slightly delay rendering of buffers if it
would exceed the maximum defined bitrate. This can be used to do
rate control on network sinks, for example.
API: GstBaseSink::max-bitrate
API: gst_base_sink_set_max_bitrate()
API: gst_base_sink_get_max_bitrate()
2012-11-09 17:01:23 +01:00
Tim-Philipp Müller
666c8c11c6
Fix FSF address
...
https://bugzilla.gnome.org/show_bug.cgi?id=687520
2012-11-03 20:44:48 +00:00
Jan Schmidt
b674a737b0
collectpads: Clarify docs about the buffer handler callback.
...
Clarify that the callback owns a ref on a passed buffer.
2012-10-30 10:04:44 +11:00
Tim-Philipp Müller
073c09afe0
g-i: fix "can't resolve libraries to shared libraries: gstcheck-1.0" build error
...
Revert --library=libfoo-1.0.la -> --library=foo-1.0 change made
in previous commit. Turns out that was wrong, despite what the
man page says.
https://bugzilla.gnome.org/show_bug.cgi?id=603710
2012-10-29 13:27:55 +00:00
Vincent Penquerc'h
37a72b1a82
baseparse: prevent excessively high memory usage with long streams
...
Large streams would index one frame every second, which can get quite
large with multi-hour streams, so add an additional byte-based
minimum distance as well, which will kick in for long streams
and make sure we never have more than a couple of thousand index
entries.
https://bugzilla.gnome.org/show_bug.cgi?id=666053
2012-10-28 19:49:37 +00:00
Tim-Philipp Müller
21a74a6b79
libs: g-i: avoid multiple libraries in the shared-library tag
...
Using multiple libraries causes problems for the C# bindings and
will for similiar languages such as Java when there are bindings
for them.
Also change --library=libgstfoo-X.la to --library=gstfoo-X as
the man page suggests it should be done.
https://bugzilla.gnome.org/show_bug.cgi?id=679315
2012-10-28 17:20:10 +00:00
Sebastian Dröge
09982c3c13
dataqueue/queuearray: Make public API again
...
These are actually used outside of coreelements nowadays.
Also hide lots of internals and add padding and documentation.
2012-10-25 14:03:01 +02:00
Wim Taymans
9f42bd643e
basesrc: use new GCond for async state change
...
Use a new GCond, protected with the object lock, to signal completion
of the async state change. We can't reuse the live lock because that
one can be locked when the create function blocks.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=686723
2012-10-24 11:16:12 +02:00
Sebastian Dröge
1042857f33
configure: Properly check for pthread
...
The old check failed on Android for example.
2012-10-22 15:05:24 +02:00
Tim-Philipp Müller
d86ecaf53e
collectpads: fix g-i annotation for GstCollectPadsBufferFunction
...
We pass ownership of the buffer to the function.
2012-10-20 19:44:43 +01:00
Tim-Philipp Müller
73b2a3dd66
collectpads: minor docs fixes
2012-10-15 19:56:36 +01:00
Tim-Philipp Müller
bb2fda64f7
collectpads: fix buffer leak in clip_time
2012-10-15 19:55:42 +01:00
Mark Nauwelaerts
81aef52ac4
collectpads: call clip function with user data
2012-10-15 18:44:56 +02:00
Mark Nauwelaerts
a6b75fb322
collectpads: ensure all timestamps are in same time domain
...
... by not only processing incoming buffers through a clip function,
but also other timestamps such as those coming from GAP event.
2012-10-10 11:43:25 +02:00
Mark Nauwelaerts
bd3a27f24c
docs: adjust some parameter mismatches
2012-10-10 11:43:25 +02:00
Wim Taymans
f688d4d8a7
basesrc: retrieve the result from start_complete
...
gst_base_src_start_complete() can fail when the thread could not be
started, for example. Make sure it causes the state change to fail by
retrieving the result from _start_complete().
2012-10-09 15:31:19 +02:00
Wim Taymans
e89ac90fa1
basesrc: improve debug
2012-10-09 15:31:04 +02:00
Tim-Philipp Müller
4e373aa952
docs: add Since markers for new API and add it to docs and .def file
2012-10-04 11:24:09 +01:00
Wim Taymans
d5b81aba6a
basetrans: add an option to prefer passthrough
...
Basetransform attempts to do passthrough mode regardless of the order of
the transform_caps method. Add a method to disable this.
This is needed for elements like capsfilter that want to transform caps
based on the order of the caps property.
2012-10-04 11:15:36 +02:00
Wim Taymans
664f7141be
basetrans: improve some comments
2012-10-04 10:01:19 +02:00
Wim Taymans
ed19974e25
meta: do metadata registration threadsafe
...
We need to use g_once to register the metadata implementations
only once.
See https://bugzilla.gnome.org/show_bug.cgi?id=685332
2012-10-03 13:45:22 +02:00
Jan Schmidt
906738ab49
basesrc: Fix seamless segment function
...
The 3rd parameter of gst_base_src_new_seamless_segment in
0.10 is the time associated with the start of the new segment,
not the position in the new segment. Fix the name of the parameter,
the docs, and the implementation to match the needs of the only
extant consumer: DVD playback.
2012-09-30 04:07:31 +10:00
Tim-Philipp Müller
d13ba1a304
docs: fix up basesrc/basesink docs formatting
2012-09-26 23:32:35 +01:00
Wim Taymans
c1b31eaa4c
update docs for 1.0 API
2012-09-26 17:11:05 +02:00
Jan Schmidt
d08d3d8227
baseparse: Move some run of the mill debug statements to LOG level
2012-09-26 15:04:14 +10:00
Jan Schmidt
a663a4b9a0
baseparse: Output timestamps after a seek.
...
Reinitialise the DTS after a seek so as to continue
generating timestamps when baseparse is not downstream
of a demuxer.
Fixes : #684538
2012-09-26 15:04:04 +10:00
Wim Taymans
79ae0b8445
docs: fix basesink docs
2012-09-25 14:45:15 +02:00
Josep Torra Valles
111fcc6e31
Make intel compiler happier
...
https://bugzilla.gnome.org/show_bug.cgi?id=552657
2012-09-25 00:56:26 +01:00
Tim-Philipp Müller
7eb64ad7a9
check: fix FIXME printing for tcase_skip_broken_test()
2012-09-23 19:56:43 +01:00
Tim-Philipp Müller
226d96f107
collectpads: don't forward random stream-start event
...
It's not right, and we don't know what extra properties
that event might have set in future (e.g. sparseness).
This change means collectpad users need to create their
own stream-start event now. We could add a utility
function that creates a stream-start event based on
the input stream-start events.
2012-09-23 12:42:01 +01:00
Tim-Philipp Müller
531cdb43f5
docs: collectpads doc fixes
2012-09-19 09:44:08 +01:00
Wim Taymans
0ea3675cf4
basetransform: check acquire result value
...
Check the result value from _buffer_pool_acquire() and return the
value when allocation failed.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=684285
2012-09-18 21:49:41 +02:00
Tim-Philipp Müller
ca90ea6e55
Remove GST_USE_UNSTABLE_API guard and defines
2012-09-17 13:35:26 +01:00
Wim Taymans
9828f72cda
basetrans: whitespace fix
2012-09-14 16:58:10 +02:00
Wim Taymans
3abc720345
docs: fix some docs
...
from git grep for ffmpegcolorspace and x-raw-
2012-09-13 11:35:41 +02:00
Wim Taymans
a1fa643c93
parse: add missing declaration
2012-09-13 10:48:08 +02:00
Wim Taymans
6802620d9d
basesrc: indent fix
2012-09-13 10:24:30 +02:00
Jan Schmidt
196caf5ed6
baseparse: Add a mode/flag for disabling PTS interpolation
...
To be used by sub-classes implementing video formats with reordering
such as MPEG.
2012-09-12 22:44:37 -07:00
Jan Schmidt
f4b530ed9e
baseparse: Handle GAP and still-frame events.
...
Hacky, because the still-frame code all lives in -base, where we
can't use it - so this is a hacky duplication of -base code. Not
sure which way to fix this: Move baseparse to -base, or move still-frame
events to core?
2012-09-12 22:38:40 -07:00
Jan Schmidt
257ad2c79e
baseparse: Restructure event handling
...
Make the event handling more like what videodecoder does,
to ensure that all events are passed to child classes before being
placed on the pending queue or pushed onward.
2012-09-12 22:38:40 -07:00
Jan Schmidt
dbf4c13489
baseparse: Store incoming cached events in reverse order
...
Reverse the list just before sending. Prepending is more efficient
than appending, so this saves some cycles.
2012-09-12 22:38:40 -07:00
Jan Schmidt
3226160b31
baseparse: First attempt at handling both DTS and PTS
2012-09-12 22:38:36 -07:00
Stefan Sauer
57ea490f5a
collectpads: remove gst_collect_pads_add_pad_full
...
Rename gst_collect_pads_add_pad_full() to gst_collect_pads_add_pad() and fix all
invocations.
2012-09-12 21:04:47 +02: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
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
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
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
Mark Nauwelaerts
357cf18fd5
libs: adjust comment style
2012-09-10 12:16:06 +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
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
dcacfb17cb
baseparse: update for gst_message_new_duration -> _duration_changed()
2012-09-02 02:04:14 +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
Tim-Philipp Müller
b94e46b8b4
baseparse: make seeking in DEFAULT format work if the subclass can convert for us
...
We only deal in TIME format ourselves, but if the subclass can handle
converting other formats into TIME format, we can support that too.
Fixes seeking in DEFAULT (sample) format with flacparse,
and the flacdec unit test.
2012-08-19 17:51:00 +01:00
Víctor Manuel Jáquez Leal
fee7080dff
basetransform: getters for pool and allocator
...
Sometimes a transform filter would need the buffer pool or the memory
allocator negotiated by the base class, for example, for querying different
parameters, such as a bigger number of buffers to allocate by the buffer pool.
This patch expose a two getters accessors: one for the buffer pool and the
other for the memory allocator.
2012-08-14 15:45:21 +02:00
Víctor Manuel Jáquez Leal
65cfafb3b9
basesrc: getters for pool and allocator
...
Sometimes the sources would use the buffer pool or the memory allocator for
something else than just allocating output buffers; for example, querying for
different parameters, such as a bigger number of buffers to allocate by the
pool.
This patch expose a two getters accessors: one for the buffer pool and the
other for the memory allocator.
2012-08-14 15:45:14 +02:00
Tim-Philipp Müller
1c3ade2d0f
consistencychecker: add some more details to failure messages
...
Mention pad where the problem occured, and the event name.
2012-08-12 19:39:46 +01:00