Commit graph

983 commits

Author SHA1 Message Date
Andoni Morales
741ef2bc80 filesink: Fix segfault with MSVC
Don't use deprecated fileno on MSVC but replace with _fileno

Fixes #587052
2009-07-13 12:00:47 +02:00
Tim-Philipp Müller
480b92006d typefindelement: log probability in debug message 2009-07-02 01:18:57 +01:00
Jan Schmidt
3c87b8850f multiqueue: Fire the overrun signal on EOS
Fixes startup of some short MPEG files with decodebin2/playbin2
where all the data fits in the multiqueue and EOS arrives before
the group is exposed.
2009-06-24 15:22:51 +01:00
Chad Hanna
26d91daacb capsfilter: Add GAP flag support
capsfilter doesn't actually touch the data so we don't want the GAP flag to
be unset by basetransform.

Fixes bug #586566.
2009-06-23 12:58:29 +02:00
Wim Taymans
b054530479 tee: add buffer-list support 2009-06-19 19:35:04 +02:00
Tim-Philipp Müller
26f8292860 fdsink: clean up some more error and debug messages 2009-06-19 13:52:41 +01:00
Tim-Philipp Müller
536baf3d65 fdsink: fix error message
Users should never see the term 'file descriptor', much less a file
descriptor number, in an error message. Put that into the debug
string instead and use the default error message.
2009-06-18 11:39:26 +01:00
Wim Taymans
6c1a1634b4 fdsink: add the new field in the header 2009-06-18 11:49:33 +02:00
Benjamin Gaignard
1a6f82f4b0 fdsink: make fdsink seekable
Implement the same logic as filesink to implement seeking.

Fixes #578908
2009-06-18 10:55:39 +02:00
Tim-Philipp Müller
8624aaa415 queue: fix compiler warning
The compiler suggests to add some () to indicate if the && or the || takes
priority, so reflow code a bit so we don't have to add yet another layer
of (). Hopefully this was the intended meaning of the code.
2009-06-15 20:11:05 +01:00
Arnout Vandecappelle
34aeb8ba7e don't lock when min-threshold and max-size conflict.
When min-threshold is set on a queue, it is possible that one of
the minima remains unsatisfied while one of the maxima is already
reached. Therefore, always consider the queue non-empty if it is full.

Fixes #585433.
2009-06-15 19:06:12 +02:00
Stefan Kost
36bb7c76b1 filesrc/sink: turn the bus messages into g_warning
Its a programming error.
2009-06-12 17:55:02 +03:00
Stefan Kost
e938861cb8 filesrc/sink: improve warning message a bit (wrong state)
Unify and turn those into element warnings.
2009-06-11 18:16:05 +03:00
Jan Schmidt
2e2695f594 multiqueue: Use the slice allocator for MultiQueueItems 2009-06-11 10:34:28 +01:00
Wim Taymans
5a77f18278 multiqueue: check byte range even when we have timestamps
As found by thaytan on IRC.
Also check the byte limit, even if we have timestamps because there might just
not be a time limit.
2009-06-09 13:08:54 +02:00
Stefan Kost
7e27a53265 fakesrc: add a FIXME comment for blocksize vs. size-max property issue 2009-06-01 09:51:20 +03:00
Tim-Philipp Müller
d9df74ea3e identity: hack around g_object_notify() bug by protecting it with a lock
Out-of-band events might lead to us calling g_object_notify() from a
non-streaming thread, which can cause crashes if g_object_notify() is
being called from the streaming thread at the same time. See #554460.
2009-05-31 21:30:18 +01:00
Tim-Philipp Müller
7e4b164c12 fakesink: hack around crasher bug in g_object_notify() for out-of-band events
GObject may crash if two threads do concurrent g_object_notify() on the same
object. This may happen if fakesink receives an out-of-band event such as
FLUSH_START while processing a buffer or serialised event in the streaming
thread. Since this may happen with the default settings during a common
operation like a seek, and there seems to be little chance of a timely fix
in GObject (see #166020), we should hack around this issue by protecting all
of fakesink's direct g_object_notify() calls with a lock.

Also add unit test for the above.

Fixes #554460.
2009-05-31 19:17:33 +01:00
Arnout Vandecappelle
ef9ad30fde typefind: don't leak the force-caps property
Fixes #581321
2009-05-12 10:21:26 +02:00
Sebastian Dröge
d20e695a00 filesrc: Improve debugging a bit on invalid URIs 2009-05-12 09:02:45 +02:00
Wim Taymans
103b2a41bf fakesink: avoid typecheck 2009-05-11 22:35:08 +02:00
Jan Schmidt
4c6c9c2d5b paramspecs: revert gst_param_spec_is_mutable() for release
Revert the gst_param_spec_is_mutable API for this release so we can
discuss it a bit further first.
2009-04-16 00:48:11 +01:00
David Schleef
1ecf114c0e Add param spec flags for when a property can be changed
Adds GST_PARAM_MUTABLE* flags to indicate in which states a
property can be changed and take effect.  Fixes #571559
2009-04-12 18:45:24 -07:00
Olivier Crete
376bed78ce tee: add property to control the alloc pad
Add a property to control the pad used for proxying the buffer_alloc function on
the sinkpad.
Fixes #577891.
2009-04-09 18:27:21 +02:00
Edward Hervey
00cbbc87c7 Remove unused variables detected by LLVM's Clang static analyzer. 2009-04-03 12:56:48 +02:00
Edward Hervey
ca662eb57a capsfilter. Always calls _suggest, even with NULL caps. Fixes #574805 2009-03-31 15:15:29 +02:00
LRN
ef5be37882 win32: fix seeking in files >4GB
Use 64-bit functions on windows to implement seeking in files bigger
than 4GB.
Fixes #575988
2009-03-20 14:14:52 +01:00
Stefan Kost
36205e7d42 logging: some additional logging for tracing caps negotiation.
Demote one log that can come quite often. Remove one fixme that is done. Apply
gst-indent changes.
2009-03-10 21:13:40 +02:00
Alessandro Decina
c20fb4c16f identity: ignore the return value of gst_pad_event_default when sending out the newsegment event in single-segment mode.
This makes identity single-segment=true ! oggmux work again after a change in
oggmux (commit b0e3d449 in -base).
2009-03-06 12:13:14 +01:00
Edward Hervey
69b8a22ffa capsfilter: Properly reset the capsfilter when setting caps ANY. 2009-02-27 13:35:35 +01:00
Ali Sabil
cd1f18bd12 Use the correct unref function 2009-02-22 18:53:10 +01:00
Stefan Kost
4262f6c641 cleanup: remove unused variables in _class_init() and reindent. 2009-02-05 17:25:01 +02:00
Stefan Kost
1ca248bac6 queue: remove unused code
Skip looping thru a dummy implementation.
2009-02-05 13:59:48 +02:00
Sebastian Dröge
e5ce299593 Improve debug output by logging the offsets. Fixes bug #568678.
In create() also log the offsets and not only the
buffer size.
2009-01-22 13:58:57 +01:00
Wim Taymans
5b868cbbb0 If no type was found using the typefind functions, try doing an upstream
URI query to guess the type from the extension. See #566661.
2009-01-21 12:50:29 +01:00
Stefan Kost
7dd8b92448 gst/gstdebugutils.c: Add some ideas, how to make the graph smaller.
Original commit message from CVS:
* gst/gstdebugutils.c:
Add some ideas, how to make the graph smaller.
* gst/gstutils.c:
Add a comment from a debug session.
* libs/gst/base/gstbasetransform.c:
Log more context.
* libs/gst/controller/gstinterpolationcontrolsource.c:
Indet.
* plugins/elements/gstcapsfilter.c:
Fix typo in docs.
2009-01-01 21:27:06 +00:00
Sebastian Dröge
9b65eb6838 API: Add URI query type. This is useful to query the URI of a sink/source element and can be used by demuxers that ne...
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/gstquark.c:
* gst/gstquark.h:
* gst/gstquery.c: (gst_query_new_uri), (gst_query_set_uri),
(gst_query_parse_uri):
* gst/gstquery.h:
API: Add URI query type. This is useful to query the URI
of a sink/source element and can be used by demuxers that
need to get data from other files.
This query should go upstream by default.
Fixes bug #562949.
* plugins/elements/gstfdsink.c: (gst_fd_sink_query):
* plugins/elements/gstfdsrc.c: (gst_fd_src_class_init),
(gst_fd_src_query):
* plugins/elements/gstfilesink.c: (gst_file_sink_query):
* plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
(gst_file_src_query):
Implement URI query.
2008-12-20 17:33:44 +00:00
Wim Taymans
55eff82256 plugins/elements/gsttee.c: Check for changed pads-list before checking the last returned
Original commit message from CVS:
* plugins/elements/gsttee.c: (gst_tee_handle_buffer):
Check for changed pads-list before checking the last returned
GstFlowReturn because the pad could have been removed and we
need to ignore the value in that case.
2008-12-08 22:28:05 +00:00
Edward Hervey
aa1dfbb004 plugins/elements/gstfilesrc.c: Fix memory leak.
Original commit message from CVS:
* plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
Fix memory leak.
2008-11-24 11:56:44 +00:00
Stefan Kost
9e501b274f plugins/elements/gstidentity.c: Don't warning on offset==-1. Taken from _check_imperfect_offset().
Original commit message from CVS:
* plugins/elements/gstidentity.c:
Don't warning on offset==-1. Taken from _check_imperfect_offset().
2008-11-21 20:57:16 +00:00
Michael Smith
42c08ab20f plugins/elements/gstfilesrc.c: Check for localhost in URI was backwards, fix it. Fixes unit test.
Original commit message from CVS:
* plugins/elements/gstfilesrc.c:
Check for localhost in URI was backwards, fix it. Fixes unit test.
2008-11-21 18:26:14 +00:00
Michael Smith
c9a4a6d6f5 plugins/elements/gstfilesrc.c: Use g_filename_from_uri() for URI parsing in filesrc rather than rolling out own sligh...
Original commit message from CVS:
* plugins/elements/gstfilesrc.c:
Use g_filename_from_uri() for URI parsing in filesrc rather than rolling
out own slightly incorrect version. Fixes use of some paths on
win32.
2008-11-20 21:05:14 +00:00
Thomas Vander Stichele
a0e5eab525 plugins/elements/gstfilesink.c: Update Author string to match others.
Original commit message from CVS:
* plugins/elements/gstfilesink.c:
Update Author string to match others.
2008-11-10 13:56:51 +00:00
Stefan Kost
fa7e7d29a2 plugins/elements/gstidentity.c: Doc typo. Use return value of parent_class->event.
Original commit message from CVS:
* plugins/elements/gstidentity.c:
Doc typo. Use return value of parent_class->event.
* plugins/elements/gsttypefindelement.c:
Chain up at the end for consistency.
2008-10-31 08:53:27 +00:00
Sebastian Dröge
5357a24dbf plugins/elements/: Use gst_buffer_try_new_and_alloc() and handle errors instead of using gst_buffer_new_and_alloc() w...
Original commit message from CVS:
* plugins/elements/gstfdsrc.c: (gst_fd_src_create):
* plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
Use gst_buffer_try_new_and_alloc() and handle errors instead of
using gst_buffer_new_and_alloc() which aborts if the buffer couldn't
be allocated.
2008-10-23 12:52:58 +00:00
Sebastian Dröge
075811e654 plugins/elements/gsttee.c: Fix flow aggregation of tee. Error out immediately for all flow returns except OK and NOT_...
Original commit message from CVS:
* plugins/elements/gsttee.c: (gst_tee_handle_buffer):
Fix flow aggregation of tee. Error out immediately for all flow returns
except OK and NOT_LINKED, return NOT_LINKED if all pads are not linked
and return OK if at least one pad is linked.
Before we errored out on "fatal" flow returns (i.e. not for WRONG_STATE)
and otherwise returned the flow return of the last pad, which is wrong.
* tests/check/elements/tee.c: (_fake_chain), (_fake_chain_error),
(GST_START_TEST), (tee_suite):
Add unit tests for the flow aggregation.
2008-10-14 12:34:56 +00:00
Stefan Kost
35a2a49c00 plugins/: Don't install static libs for plugins. Fixes #550851 for core.
Original commit message from CVS:
* plugins/elements/Makefile.am:
* plugins/indexers/Makefile.am:
Don't install static libs for plugins. Fixes #550851 for core.
2008-10-13 16:47:51 +00:00
Jan Schmidt
18e2042e28 plugins/elements/gstqueue.c: Allow through queries when we don't know how as otherwise it's not possible to query the...
Original commit message from CVS:
* plugins/elements/gstqueue.c:
Allow through queries when we don't know how
to adjust them (not TIME or BYTES), as otherwise it's
not possible to query the current position in order
to seek in other formats at all.
2008-10-08 11:20:17 +00:00
Jan Schmidt
86db1f680c Fix assertion in basetransform when the subclass chooses not to allocate a buffer in prepare_buffer(), and make capsf...
Original commit message from CVS:
* libs/gst/base/gstbasetransform.c:
* plugins/elements/gstcapsfilter.c:
* tests/check/Makefile.am:
* tests/check/elements/.cvsignore:
* tests/check/elements/capsfilter.c:
Fix assertion in basetransform when the subclass chooses not to
allocate a buffer in prepare_buffer(), and make capsfilter error out
cleanly if requested to apply caps that don't completely specify the
buffer. Fixes #551509
2008-09-28 21:19:15 +00:00
Stefan Kost
c55cc1ff39 plugins/elements/: Call super::event() when not handling it. Fixes #544855.
Original commit message from CVS:
reviewed by: Wim Taymans <wim.taymans@collabora.co.uk>
* plugins/elements/gstfakesink.c:
* plugins/elements/gstfakesrc.c:
Call super::event() when not handling it. Fixes #544855.
2008-08-20 07:03:40 +00:00