Sebastian Dröge
2a6602d994
decodebin2: Return NULL from the default autoplug-sort handler
...
...instead of copying the array. Returning NULL will result
in the original factories array to be used and prevents a useless
array copy in most use cases.
2011-02-18 12:01:05 +01:00
Sebastian Dröge
da4b5bf9f9
uridecodebin: Update autoplug-* signal docs from decodebin2
...
uridecodebin proxies these signals.
2011-02-18 12:00:34 +01:00
Sebastian Dröge
ef5f73206d
decodebin2: Update documentation of the autoplug-* signals
...
Add notes about the behaviour if multiple signal handlers are connected.
For most autoplug-* signals only the first signal handler will ever
be invoked.
Also add to the autoplug-sort docs that the signal handler can return NULL
to specify that the order should change and other handlers get the chance
to sort the array.
2011-02-18 11:58:44 +01:00
Sebastian Dröge
785f35a48e
decodebin2: Keep the original factory list if the sort signal handlers returned NULL
2011-02-18 11:57:12 +01:00
tskd2@yahoo.co.jp
0641eabeb2
uridecodebin: expose "autoplug-sort" signal
...
It is a proxy of the decodebin2's one, and was missing
in the previous code.
See bug #642433 .
2011-02-18 11:17:11 +01:00
Sebastian Dröge
1351597381
playbin2: Use a recursive mutex for the playbin lock
...
This lock is taken when activating a group, which could result in
calling the autoplug-continue callback, which also needs this lock
to access the sinks.
See bug #642174 .
2011-02-18 10:57:40 +01:00
Sebastian Dröge
6ca5bb72a4
decodebin2: Disconnect signal handlers when removing a failed element
...
This prevents crashes later if one of the signals is emitted after the
element was removed from decodebin2 already, which can happen in discoverer.
2011-02-18 09:44:49 +01:00
David Schleef
7902e13df5
typefind: Fix mpeg TS detection
2011-02-17 18:29:57 -08:00
Sebastian Dröge
140dca43f3
playbin2: Optimize autoplug-continue handler a bit
...
Don't build merge the caps of all sinks but check them one-by-one
until one supports the caps. Also get reffed caps from the sinkpads
instead of a writable copy and add debug output if a sink claims to
support ANY caps.
2011-02-15 17:46:22 +01:00
Akihiro Tsukada
555e338008
playbin2: Fix handling of non-raw custom sinks
...
When autoplugging elements in decodebin2, check if
the caps are supported by one of the sink before
continuing autoplugging.
Fixes bug #642174 .
2011-02-15 17:24:28 +01:00
Sebastian Dröge
fbf9729795
decodebin2: Don't leak elements that fail to go to PAUSED after being autoplugged
...
Fixes bug #642381 .
2011-02-15 17:05:42 +01:00
Andoni Morales Alastruey
f7dbec9091
gdppay: ensure buffer's metadata is writable before setting caps
2011-02-14 15:51:08 +01:00
Stefan Kost
fe59f50468
decodebin2: caps can be NULL
...
Don't use and unref NULL caps.
2011-02-08 12:32:23 +02:00
Mark Nauwelaerts
2c017d2a70
uridecodebin: fix copy-and-paste typo in property docs
2011-02-02 15:39:19 +01:00
Mark Nauwelaerts
e5e09844ea
tcp: use socklen_t where appropriate rather than specific type
...
In particular, fixes Cygwin build where socklen_t is defined as int
in line with native win32 api definition.
2011-01-31 19:21:32 +01:00
Wim Taymans
1fb7c7e5dc
uridecodebin: also add https to buffer protocols
...
HTTPS also needs buffering.
2011-01-31 10:34:44 +01:00
Philippe Normand
749f541cc4
typefinding: register H264 typefinder with H264 caps
...
https://bugzilla.gnome.org/show_bug.cgi?id=640709
2011-01-27 12:21:19 +00:00
Thiago Santos
b43db2f2a2
streamsplitter: release pending events refs
...
Unref pending events when disposing the streamsplitter.
Also refactor a little to replace a for with a g_list_foreach
2011-01-26 12:52:41 -03:00
Tim-Philipp Müller
11a1acfe88
typefinding: use image/x-icon as media type for ICON files
...
That's what we've been using so far (e.g. gdkpixbufdec).
2011-01-26 09:06:10 +00:00
Stefan Kost
69436bb8a6
decodebin2: add comment and whitespace trimming
2011-01-25 18:03:58 +02:00
Vincent Penquerc'h
2acdbdabaa
typefind: add typefinder for DEGAS images
...
This fixes at least one DEGAS image from being misdetected as DTS audio.
https://bugzilla.gnome.org/show_bug.cgi?id=625129
2011-01-25 13:39:25 +00:00
Vincent Penquerc'h
7caf9e5e81
typefind: add detection for windows icon files to get them out of the way
...
Some of them can otherwise be misdetected for MPEG audio.
https://bugzilla.gnome.org/show_bug.cgi?id=620364
2011-01-24 19:54:52 +01:00
David Schleef
3a165c60bf
gdppay: make newsegment buffer metadata writable
2011-01-17 13:55:18 -08:00
Tim-Philipp Müller
adb84c6dae
typefinding: set framed=false on DTS caps
2011-01-13 13:59:41 +00:00
Edward Hervey
251400a69b
encodebin: Add missing-plugin support
...
https://bugzilla.gnome.org/show_bug.cgi?id=638903
2011-01-07 13:18:20 +01:00
Edward Hervey
d7bdf0d49a
encodebin: Extend documentation
...
https://bugzilla.gnome.org/show_bug.cgi?id=638901
2011-01-07 12:52:37 +01:00
Robert Swain
2c1bf82d55
videorate: Fix behaviour for frame rate cap changes
...
The outgoing buffer timestamp is calculated by scaling an output buffer
count by the src pad frame rate caps. If these caps change, we need to
reset the count and work from a new base timestamp. The new output
buffer timestamp is then the count scaled by the new caps values added
onto the base timestamp.
2011-01-06 13:12:05 +01:00
Edward Hervey
19201c1ab0
encoding: encoding_profile_get_output_caps => _get_input_caps
...
Makes more sense name-wise
2011-01-05 22:02:35 +01:00
Edward Hervey
cdd0a9c8bb
encodebin: Convert to new GstElementClass::request_new_pad_full vmethod
2011-01-05 19:30:50 +01:00
David Schleef
e3451e5ab8
typefind: Add stream-format to h264 caps
2011-01-02 15:49:42 -08:00
Tim-Philipp Müller
dcd4222716
playbin2: use input-selector from core instead of internal copy
2010-12-31 12:14:22 +00:00
Tim-Philipp Müller
bb786dfb5c
typefinding: assume EBML files without doctype are matroska
...
https://bugzilla.gnome.org/show_bug.cgi?id=638019
2010-12-29 22:36:41 +00:00
Wim Taymans
b1696cf21d
multifdsink: only keep last valid timestamp
...
Fixes #634397
2010-12-29 12:55:24 +01:00
Andoni Morales Alastruey
c41a4d0df4
multifdsink: add first and last buffer's timestamp to the stats
2010-12-29 12:55:24 +01:00
Edward Hervey
c76a6ef8ea
encodebin: Also use "Formatter"s for container formats
2010-12-22 18:23:26 +01:00
Alessandro Decina
b11303319c
encodebin: minor fix in error handling.
...
Don't call gst_bin_remove (bin, <invalid pointer>).
2010-12-22 13:56:12 +01:00
Vincent Penquerc'h
f221466099
playbin2: delay stream-changed messages
...
https://bugzilla.gnome.org/show_bug.cgi?id=637586
2010-12-21 17:42:58 +01:00
Edward Hervey
d20b84f1d2
encodebin: Fix usage of non-container profiles
2010-12-21 13:07:27 +01:00
Rob Clark
aa07af41f3
fix compile errors on macosx
...
with i686-apple-darwin10-gcc-4.2.1:
encoding-profile.h:134: warning: type qualifiers ignored on function return type
encoding-profile.c:240: warning: type qualifiers ignored on function return type
gstencodebin.c: In function 'next_unused_stream_profile':
gstencodebin.c:454: warning: format '%d' expects type 'int', but argument 8 has type 'GType'
gstencodebin.c:464: warning: format '%d' expects type 'int', but argument 8 has type 'GType'
2010-12-17 19:06:27 -06:00
Leo Singer
5bfe1baab3
audioresample: corrected buffer duration calculation to account for nonzero initial timestamp
...
Since we calculate timestamps by:
timestamp = t0 + (out samples) / (out rate)
and durations by:
duration = ((out samples) + (processed samples)) / (out rate) - timestamp
if t0 is nonzero, this would simplify to
duration = t0 + (processed samples) / (out rate).
This duration is too large by the amount t0. We should have done:
duration = t0 + ((out samples) + (processed samples)) / (out rate) - timestamp
so that
duration = (processed samples) / (out rate).
2010-12-17 19:34:42 +01:00
Leo Singer
25a154be5f
audioresample: changed num_gap_samples, num_nongap_samples from guint32 to guint64 so that gaps of greater than or equal to 2^32 samples do not cause integer overflow
2010-12-17 19:34:42 +01:00
Leo Singer
d6d2aa44ab
audioresample: push half a history length, instead of a full history length, at end-of-stream so that output segment and input segment have same duration
2010-12-17 19:34:42 +01:00
Leo Singer
aac8b21678
audioresample: renamed count_gap, count_nongap to more descriptive num_gap_samples, num_nongap_samples
2010-12-17 19:34:42 +01:00
Leo Singer
6832b38527
audioresample: replaced void* with gpointer
2010-12-17 19:34:42 +01:00
Leo Singer
87f2422737
audioresample: initial filter transient discarded; unit tests passing
2010-12-17 19:34:41 +01:00
Leo Singer
b4cd3329a9
Revert "Revert "audioresample: Add GAP flag support""
...
This reverts commit 35c76b3409
.
Conflicts:
gst/audioresample/gstaudioresample.c
gst/audioresample/gstaudioresample.h
2010-12-17 19:34:41 +01:00
Sebastian Dröge
32f28f476e
videoscale: Change classification to Filter/Converter/Video/Scaler
2010-12-16 10:11:43 +01:00
Edward Hervey
8a3b45aa1f
gst: New encoding plugin
...
https://bugzilla.gnome.org/show_bug.cgi?id=627476
2010-12-15 11:54:32 +01:00
David Schleef
525776df79
typefind: Add check for yuv4mpeg
2010-12-14 00:40:58 -08:00
Mark Nauwelaerts
93d68ec77d
audioresample: relax discont checking slightly
2010-12-13 10:10:30 +01:00
Mark Nauwelaerts
a7cf165289
audioresample: provide as much valid output ts and offset as valid input
...
... by independently tracking time and offset, rather than having no offset
leading to no output ts.
2010-12-13 10:10:15 +01:00
Stefan Kost
7728f3d3a7
typefinders: name "aac" typefinder "audio/aac"
...
This is in sync how we call the others.
2010-12-13 10:42:02 +02:00
Zeeshan Ali (Khattak)
1611f89298
videotestsrc: Add a missing return statement
2010-12-11 19:33:33 +02:00
Sebastian Dröge
09ff04a00a
decodebin2: Deprecate new-decoded-pad and removed-decoded-pad signals
...
They're really the same as pad-added and pad-removed from GstElement
and it doesn't make sense to have two signals for the same thing.
2010-12-11 17:18:49 +01:00
Sebastian Dröge
42dee942d4
decodebin2: Emit "remove-decoded-pad" signal when pads are removed from decodebin2
...
Fixes bug #636198 .
2010-12-11 17:15:28 +01:00
Mark Nauwelaerts
ea7349e4c7
typefinding: improve iso media typefinding
...
... by also considering compatible brands rather than only aiming at major brand
(of which there are a seemingly ever expanding great many).
2010-12-08 12:55:24 +01:00
René Stadler
1e75501c10
typefind: ignore AC-3 BSIDs 9, 10 and >16
...
These are reserved for future extensions which will not be backwards
compatible to E-AC-3.
2010-12-07 21:28:20 +02:00
René Stadler
725968c612
typefind: accept consecutive AC-3 frames of different sizes
...
This is perfectly valid and occurs in particular when there are
(in)dependent substreams present.
2010-12-07 21:28:20 +02:00
René Stadler
0e39c62878
typefind: remove useless masking in (E-)AC-3 typefinders
2010-12-07 21:28:20 +02:00
René Stadler
cc65ba987a
typefind: stop scanning after suggesting E-AC-3 caps
2010-12-07 21:28:20 +02:00
René Stadler
886ea051e7
typefind: fix E-AC-3 frame size parsing
...
Frame size is given in words; it is already multiplied by two where
needed, so the left shift is superfluous. This extra multiplication
caused the code to inspect the third packet instead of the second,
which would fail for files where the second packet has a size
different from the first.
2010-12-07 21:28:20 +02:00
Stefan Kost
95b259f9c9
playbin2: add some logging for failure case
2010-12-02 23:04:51 +02:00
Stefan Kost
baa2fbbb68
inputselector: log times in human readable form
2010-12-02 23:04:51 +02:00
Stefan Kost
7f787249bb
inputselector: more G_PARAM_STATIC_STRINGS use
2010-12-02 23:04:51 +02:00
Stefan Kost
3b35063ceb
inputselector: move reoccuring logs to LOG and remove a double info
...
Less debug spew in DEBUG category. No need to log pad again if we use
GST_LOG_OBJECT(pad,...).
2010-12-02 23:04:51 +02:00
Sebastian Dröge
b2d716c340
tcp: Remove dead assignment
2010-12-02 19:04:29 +01:00
Sebastian Dröge
66ce6200a8
playsink: gen_video_chain() always returns a bin, no need to check for that
2010-12-02 19:04:28 +01:00
Sebastian Dröge
92133f7ce4
streamsynchronizer: If we get EOS for an unknown stream just do nothing
...
instead of dereferencing NULL pointers. This can happen if the stream
was just removed from the streamsynchronizer in a bad time.
2010-12-02 19:04:28 +01:00
Sebastian Dröge
fe856a3f7c
playsink: gen_video_deinterlace_chain() always returns a bin, no need to check that
2010-12-02 19:04:28 +01:00
Stefan Kost
7b312c5980
uridecodebin: disconnect signal handlers before disposing
2010-11-24 17:53:42 +02:00
Tim-Philipp Müller
1bfefc50af
docs: improve decodebin2 docs a little
...
Mention that new pads may be created even after no-more-pads.
https://bugzilla.gnome.org/show_bug.cgi?id=634584
2010-11-22 00:54:35 +00:00
Tim-Philipp Müller
8a423f8f00
decodebin: fix one more pad template ref leak
2010-11-18 00:33:22 +00:00
Harri Mähönen
7c5e39664e
*decodebin*: don't leak pad templates set on ghostpads
...
https://bugzilla.gnome.org/show_bug.cgi?id=635067
2010-11-18 00:11:41 +00:00
Tim-Philipp Müller
8f039997f0
playbin2: disable streamsynchronizer magic for this release
...
Some things aren't quite right yet and cause problems (0-sized buffers
with PREROLL flag set cause crashes in elements that don't expect those;
getting pipeline back to preroll/playing again when audio/video streams
have different lengths and a seek past the end of one of the stream
happens doesn't always work, etc.). Needs further investigation in the
next cycle.
https://bugzilla.gnome.org/show_bug.cgi?id=633700
https://bugzilla.gnome.org/show_bug.cgi?id=634699
2010-11-17 01:01:03 +00:00
Sebastian Dröge
1469453cb9
ffmpegcolorspace: Fix IYU1 support
...
Fix conversions to IYU1, they allocated infinite amounts of memory before
because no conversion to IYU1 was actually implemented and it was running
into an infinite loop trying to find suitable intermediate formats.
Also fix the stride and sizes used for IYU1.
2010-11-03 10:49:35 +01:00
Jan Schmidt
ee303c441d
playsink: Fix subpicture overlay when deinterlacing disabled.
...
Fix a bug when reconfiguring the playsink where the subpicture
stream is broken by attempting to connect it through
streamsynchroniser and second time.
2010-10-28 23:15:43 +01:00
Edward Hervey
a5752d8ea7
decodebin2: Don't add non prerolled stream to topology
...
If a final stream didn't preroll, don't add it to the topology since
it doesn't give any information at all.
https://bugzilla.gnome.org/show_bug.cgi?id=632988
2010-10-24 16:18:17 +02:00
Mark Nauwelaerts
9d0fefc617
uridecodebin: workaround internal decodebin2 failing state change
...
Fixes #632656 .
2010-10-21 19:07:24 +02:00
David Schleef
a3f4bf9c72
Update generated orc code
2010-10-15 13:16:13 -07:00
Sebastian Dröge
d8c1044fbd
ffmpegcolorspace: Add support for A420
2010-10-15 11:12:38 +02:00
Tim-Philipp Müller
df6bd68b80
typefinding: fix ADTS caps stream-format detail
...
Field should be "stream-format", not "stream-type".
2010-10-14 16:46:44 +01:00
Andrzej K. Haczewski
6c5cee1d02
typefinding: extend AAC typefinder to detect LOAS streams
...
Extend AAC typefinder to recognize LOAS stream as specified by
ISO/IEC 14496-3:2009.
https://bugzilla.gnome.org/show_bug.cgi?id=623918
2010-10-14 16:46:41 +01:00
Stefan Kost
2a00fefd2a
*decodebin*: set pad-templates on ghostpads
...
This makes calling gst_pad_get_pad_template() work.
2010-10-13 23:30:55 +03:00
Stefan Kost
83c14483ed
various: add a missing G_PARAM_STATIC_STRINGS flag to object properties
2010-10-13 16:13:31 +03:00
Tim-Philipp Müller
8d29594491
decodebin2: declare decodebin2 stable, deprecate the old decodebin
...
https://bugzilla.gnome.org/show_bug.cgi?id=624949
2010-10-13 13:05:12 +01:00
Tim-Philipp Müller
8effe1e5ba
playbin2: declare stable, deprecate the old playbin
...
https://bugzilla.gnome.org/show_bug.cgi?id=624949
2010-10-13 12:55:31 +01:00
Sebastian Dröge
491b7af1fa
uridecodebin: Set GST_ELEMENT_IS_SOURCE flag
...
uridecodebin behaves like a source, let's mark it as a source
2010-10-11 14:31:05 +02:00
Zaheer Abbas Merali
b3629a7e1f
multifdsink: gdp protocol is deprecated. People should use gdppay instead.
2010-10-07 18:55:34 +01:00
Sebastian Dröge
e82835d08d
volume: Regenerate generated orc C code again with an orc fix for loading double parameters
2010-10-08 12:30:33 +02:00
Sebastian Dröge
ca5992bb29
volume: Update generated orc sources
2010-10-08 11:50:43 +02:00
Sebastian Dröge
4a0d435053
volume: Fix unit test failure for the controlled processing functions
...
Going over integer arithmetic will lead to minimal rounding errors,
leading to +/-1 changes for volume==1.0. Implement the controlled
processing with floating point arithmetic, which was already done
for the C versions anyway.
2010-10-08 11:49:09 +02:00
Sebastian Dröge
19b9460e60
audioconvert: Update generated orc files
2010-10-08 00:01:15 +02:00
Sebastian Dröge
80dbf7a901
volume: Update for orc changes
...
double parameters are declared with .doubleparam now.
2010-10-08 00:01:15 +02:00
Sebastian Dröge
4e2b6ac13a
volume: Update generated orc sources
2010-10-08 00:01:15 +02:00
Sebastian Dröge
3c96cf8917
volume: Fix controlled processing via orc
2010-10-08 00:01:15 +02:00
Sebastian Dröge
d0e96cc90f
volume: Actually enable usage of the orc optimized functions
2010-10-08 00:01:15 +02:00
Sebastian Dröge
39ef36b32c
volume: Implement int32 processing with orc
2010-10-08 00:01:15 +02:00
Sebastian Dröge
c11ee1a100
volume: Implement controlled processing for int16/1-2ch and int8/1,2,4ch with orc
2010-10-08 00:01:15 +02:00
Sebastian Dröge
0bf4abe581
volume: Implement controlled processing for f64/1ch and f32/1-2ch in orc
2010-10-08 00:01:15 +02:00
Sebastian Dröge
988849a8b4
volume: Convert parts of the controlled processing to orc
2010-10-08 00:01:14 +02:00