Sebastian Dröge
3dc4987138
subparse: Interprete typefind strings passed to GRegex as raw bytes instead of valid UTF8
2011-05-23 16:05:35 +02:00
Stefan Kost
762bb236fa
docs: fixup appsrc/sink api docs
2011-05-23 15:02:27 +03:00
Stefan Kost
f514be993c
audioconvert: cleanup helper code
...
make_lossless_changes() returns the same structure that we're passing (probably
to enable chaining). Instead of reusing s and making it point to s2 as well,
keep using s2. Drop the assignment which in the 2nd case is a dead one anyway.
2011-05-19 23:41:08 +03:00
Thiago Santos
b5fb542386
encodebin: Autoplug formatters
...
Autoplug formatters for streams if a formatter with secondary or
higher rank is found. Formatters are autoplugged when there is no
muxer or when the muxer doesn't implement the tagsetter interface.
Currently only the first formatter found is plugged, this might
help in lots of cases, but it doesn't solve the
'lamemp3 ! xingmux ! id3mux'
case.
https://bugzilla.gnome.org/show_bug.cgi?id=649841
2011-05-19 08:35:46 -03:00
Thiago Santos
0060900d68
encodebin: fix typos
2011-05-19 08:30:03 -03:00
Mark Nauwelaerts
eba4a948fb
videorate: optionally ensure maximum average output frame rate
...
See #628764 .
2011-05-16 12:46:00 +02:00
Alexey Fisher
1e09272024
videorate: optionally only drop frames to ensure maximum frame rate
...
This adds option to arrange for maximal allowed variable frame rate.
Fixes #628764 .
2011-05-16 12:45:47 +02:00
Mark Nauwelaerts
4ba6acdba5
uridecodebin: use bitrate to configure streaming buffer-duration default case
...
In particular, in audio only cases whose (estimated) metadata provides bitrate
information, the buffer-size based on such bitrate (and buffer-duration)
will be much more reasonable than queue2 default buffer-size.
2011-05-16 12:44:52 +02:00
Mark Nauwelaerts
8480b1ef1d
uridecodebin: remove some dead code
...
... which was dead as pads were never added to the list, and need not be added,
since removing them is handled by a pad callback.
2011-05-16 12:44:50 +02:00
Thiago Santos
fd486588ce
encodebin: Check for missing converters
...
Adds checks for missing video and audio converter elements
2011-05-15 13:02:39 -03:00
Andoni Morales Alastruey
dd36e4cd0e
decodebin2: fix preroll for streams at low bitrates
...
For streams at low bitrates we need to set a limit in time because the limit
in bytes might not reached too late, sometimes more than 30 seconds.
This limit can only be set if upstream is seekable (see #584104 )
Closes #647769
2011-05-14 11:42:33 +02:00
Sebastian Dröge
9337a293e1
playsink: Use new ghostpad/proxypad API to get the internal pad
2011-05-14 11:42:33 +02:00
Sebastian Dröge
9b6e1952a4
playsink: Use new ghostpad/proxypad API
2011-05-14 11:42:33 +02:00
Sebastian Dröge
2f8467d682
playsink: Add audio and video converter convenience bins
...
These reconfigure based on the caps and plugin in converters if
necessary. This also makes switching between compressed and raw
streams work flawlessly without loosing the states of any element
somewhere or having running time problems.
2011-05-14 11:42:32 +02:00
Sebastian Dröge
105da803ad
playbin2/playsink: Decide if A/V caps are raw only inside playsink
...
Before playbin2 would use different selectors for raw audio and
compressed audio (and the same for video) and used different
pads from playsink. This made the involved logic much more
complex and was not implemented completely in playsink, which
made it impossible to support files with a compressed and
uncompressed stream that is support by the sink.
playbin2 handles raw/non-raw streams the same now and the
decision is left to playsink, which now can also handle
caps changes from raw to non-raw and the other way around.
Fixes bug #632788 .
2011-05-14 11:42:32 +02:00
Sebastian Dröge
45bf51dcdf
subtitleoverlay: Use new, public ghostpad functions
2011-05-14 11:42:32 +02:00
Tim-Philipp Müller
288f8babd1
gst: update orc-generated disted C backup code to orc 0.4.14
2011-04-30 17:21:28 +01:00
David Schleef
fc31f355ea
videoscale: Fix off-by-one error in previous commit
...
Fix for 7c0b702e
. It helps to get your j+1's right.
2011-04-24 18:46:52 -07:00
David Schleef
7c0b702e14
videoscale: Fix ARGB bilinear scaling
...
Fixes #648548 . Orc generates bad code for
gst_videoscale_orc_resample_merge_bilinear_u32, so we'll use the
slightly slower two-stage process. I'd fix Orc, but it's hard to
get excited about fixing a feature that I'm planning to deprecate
and replace.
2011-04-24 18:22:23 -07:00
David Schleef
d4dbebc606
videoscale: hack to fix invalid reads in linear
...
https://bugzilla.gnome.org/show_bug.cgi?id=633837
2011-04-24 14:21:18 +01:00
David Schleef
ce9406f4d6
videoscale: protect 4tap from out-of-bounds reads
...
https://bugzilla.gnome.org/show_bug.cgi?id=633837
2011-04-24 14:21:18 +01:00
David Schleef
8264d59aab
videoscale: use simpler scaling method for small images
...
https://bugzilla.gnome.org/show_bug.cgi?id=633837
2011-04-24 12:55:28 +01:00
Marc Plano-Lesay
2ccd243d55
audioresample: fix unused-but-set-variable warnings with gcc 4.6
...
https://bugzilla.gnome.org/show_bug.cgi?id=647294
2011-04-24 12:43:33 +01:00
Tim-Philipp Müller
82a791519c
gst: update disted orc backup code
2011-04-16 15:59:45 +01:00
Mark Nauwelaerts
961226e0cd
playbin2: avoid foregoing READY_TO_NULL when appropriate
2011-04-15 11:13:31 +02:00
Mark Nauwelaerts
2bb91c4880
playbin2: ensure proper PAUSED_TO_READY cleanup
...
... since going async to PAUSED might fail, and never making it to PAUSED
subsequently skips going down to READY.
Fixes #647781 .
2011-04-14 22:14:50 +02:00
Sebastian Dröge
67d2f852ff
encodebin: Set all elements to NULL and remove them from the bin when removing a source group
2011-04-14 12:23:10 +02:00
Tim-Philipp Müller
f14c73cbfd
ffmpegcolorspace: fix unused-but-set-variable warnings with gcc 4.6
...
https://bugzilla.gnome.org/show_bug.cgi?id=647294
2011-04-13 23:19:51 +01:00
Tim-Philipp Müller
dd62fdc585
typefindfunctions: fix unused-but-set-variable warning with gcc 4.6
...
We don't compare the bitrates of consecutive mp3 frames on purpose
here.
https://bugzilla.gnome.org/show_bug.cgi?id=647294
2011-04-13 22:59:03 +01:00
Tim-Philipp Müller
a90adccacd
multifdsink: do check return values of fcntl() and fstat()
...
https://bugzilla.gnome.org/show_bug.cgi?id=647294
2011-04-12 12:24:44 +01:00
Marc Plano-Lesay
bf2b14f860
fix unused-but-set-variable warnings with gcc 4.6
...
https://bugzilla.gnome.org/show_bug.cgi?id=647294
2011-04-12 12:24:37 +01:00
Mark Nauwelaerts
eb10995895
videorate: empty caps have no structure to pick
2011-04-11 15:03:55 +02:00
Alessandro Decina
030f639a8e
android: make it ready for androgenizer
...
Remove the android/ top dir
Fixe the Makefile.am to be androgenized
To build gstreamer for android we are now using androgenizer which generates the
needed Android.mk files.
Androgenizer can be found here:
http://git.collabora.co.uk/?p=user/derek/androgenizer.git
2011-04-11 07:23:21 +02:00
Havard Graff
8ff295a788
audioresample: Make src query MT-safe
...
It is possible that the element might be going down while the event arrives
2011-04-08 15:04:41 +02:00
Mark Nauwelaerts
5c8ed3bd47
audioresample: minor simplification
...
... which avoids crashing in the off-chance that structure == NULL.
2011-04-06 12:26:08 +02:00
David Schleef
12513a9537
Remove setting of plugindir from Makefiles
2011-04-01 13:55:56 -07:00
Tim-Philipp Müller
143dc4810d
typefindfunctions: rename type playlist/m3u8 to application/x-hls
...
We should keep playlist/m3u8 available for normal m3u8 playlists,
which we we'll likely support some day. Also, we probably don't
want this handled like other playlists, so application/* seems
more appropriate in this case, even if it's really just a playlist.
2011-03-30 15:44:45 +01:00
Sebastian Dröge
34548c16d8
typefind: Fix comment typo and add a link the the HTTP live streaming spec
2011-03-30 09:18:00 +02:00
Sebastian Dröge
70148cdf97
typefind: Use the DataScanCtx for the m3u8 typefinder
2011-03-30 09:12:25 +02:00
Andoni Morales Alastruey
7eb1ded8c1
typefind: add m3u8 playlists
2011-03-30 09:00:54 +02:00
Sebastian Dröge
c27cd709bf
playsink: Update comment about why an audio queue is needed
2011-03-24 14:22:00 +01:00
Sebastian Dröge
65320a04ab
Revert "playsink: Only add a queue before the audio sink if visualizations are enabled"
...
This reverts commit df886c0622
.
2011-03-24 14:21:01 +01:00
Sebastian Dröge
df886c0622
playsink: Only add a queue before the audio sink if visualizations are enabled
...
The queue is not needed otherwise and will add some delay to track
switches.
2011-03-24 14:04:54 +01:00
Sebastian Dröge
2c057f745f
playsink: Remember automatically created sinks for future reconfigures
...
Also allow reuse of sink elements in error cases.
2011-03-23 15:08:13 +01:00
Sebastian Dröge
9c13edef4e
playbin2: Check if an already existing sink supports the non-raw format too
...
Before we were assuming that a sink will always support all non-raw formats
in a single stream.
2011-03-23 14:43:36 +01:00
Arun Raghavan
b0ef98001f
playbin2: Check if an element accepts requisite caps before selecting
...
In addition to ensuring that an element we want to select in
autoplug-select can enter the READY state, we also now check if it can
accept the caps we wish to plug it for. This is handy for sinks that
need to perform a probe to figure out whether they can actually handle a
given format.
2011-03-23 14:42:05 +01:00
Sebastian Dröge
b76efc7f5d
playbin2: Set sinks to READY before checking if it accept caps
...
Fixes bug #642732 .
2011-03-23 14:33:17 +01:00
Sebastian Dröge
a0ff13217a
playbin2: Always prefer the custom set sink and also set it back to NULL in all cases.
2011-03-23 14:31:40 +01:00
Sebastian Dröge
4e49d58917
playbin2: Only consider the audio/video sinks in autoplug_continue for the normal uridecodebin
...
Considering them for the subtitle uridecodebin will add audio/video
streams that might be in a file used as subtitle file.
2011-03-23 14:28:36 +01:00
Thiago Santos
91ed9290b8
videoscale: Fix assertion on caps fixation
...
When fixating caps, from_par should always be initialized
with a fixed value.
In case the fixation is from src to sink pad it was setting
the from par (srcpad par) to a fraction range, this patch initializes
it to 1/1, based on the assumption that missing PAR is 1/1.
https://bugzilla.gnome.org/show_bug.cgi?id=641952
2011-03-22 15:24:01 -03:00
Tim-Philipp Müller
e8f5b3a579
uridecodebin: post proper error message if decodebin2/typefind elements are missing
...
Post better error messages in case typefind/decodebin2 are missing or
could not be loaded for some reason (e.g. because they inadvertently
got blacklisted).
https://bugzilla.gnome.org/show_bug.cgi?id=644892
2011-03-16 10:19:42 +00:00
Tim-Philipp Müller
a558af4bbf
typefinding: add depth and endianness to DTS caps
...
https://bugzilla.gnome.org/show_bug.cgi?id=644208
2011-03-14 18:35:27 +00:00
Stefan Kost
63be375c21
plaback: trim trailing whitespace
2011-03-14 10:43:42 +02:00
Stefan Kost
7f1382112e
decodebin2: reflow configuring new multiqueue instance
...
Use a single g_object_set to configure the new multiqueue instance. Also don't
needlessly set "use-buffering" if it is the default.
2011-03-14 10:43:42 +02:00
Thiago Santos
4ee738be59
encodebin: Tear down old profiles when setting new ones
...
In NULL/READY, we should be able to switch profiles on encodebin,
this patch makes it tear down old profiles when new ones are set
if in NULL/READY states
https://bugzilla.gnome.org/show_bug.cgi?id=644416
2011-03-10 15:12:01 -03:00
Andoni Morales Alastruey
8c13488022
multifdsink: disconnect inactive clients in the select loop too
...
Clients are usually disconnected in the streaming thread if their inactivity
is bigger than the timeout. If no new buffers are to be rendered in the sink,
these clients will never be disconnected and for that reason it should be
handled in the select() loop too.
2011-03-10 15:10:51 +01:00
Stefan Kost
cf9aaffcb9
playbin2: set several properties in one go
...
g_object_set is a varargs function. Save 7 g_obvject_calls (and the overhead of
them) by using it accordingly.
2011-03-04 14:43:20 +02:00
Tim-Philipp Müller
09f15da2f8
typefindfunctions: fix compiler warning on 32-bit systems
...
Mark 64-bit interger constant as such to avoid warnings such as:
gsttypefindfunctions.c:2152: error: integer constant is too large for ‘long’ type
2011-03-02 15:38:01 +00:00
Sebastian Dröge
4ac6f5ff83
decodebin2: Only prevent to autoplug the same parser multiple times for the same chain
...
Parsers are the only element class that are not changing the data and
could lead to an infinite loop. Other element classes like demuxers,
e.g. id3demux, can be used multiple times in a row and sometimes are.
2011-02-27 09:32:55 +01:00
Sebastian Dröge
c7f5290247
decodebin2: Break the double-factory checking loop immediately if the factory was used already
2011-02-26 23:43:39 +01:00
Sebastian Dröge
5058f79226
decodebin2: Don't use the same element multiple times in the same chain
...
This is going to lead to an infinite loop of this element and can easily
happen with parsers that accept their own src caps on the sinkpad.
2011-02-26 23:40:48 +01:00
Sebastian Dröge
32c30b88ff
decodebin2: Improve detection of raw caps in expose-all-streams=false mode
...
Previously we only checked against the raw caps but we should also
check against the return value of autoplug-continue. Additionally fix
a thread-safety issue with accessing the raw caps.
2011-02-26 23:24:11 +01:00
Tim-Philipp Müller
c48c193b56
playbin2, uridecodebin: add "source-setup" signal
...
Add "source-setup" signal for convenience and discoverability. No need
to figure out "notify::source", look up the notify callback signature,
then do an g_object_get() to get the source element..
https://bugzilla.gnome.org/show_bug.cgi?id=626152
2011-02-24 16:53:01 +00:00
Sebastian Dröge
8067bcc54f
encodebin: Return a new reference of the pad for the "request-pad" signal
...
The GObject signal code assumes that the signal handlers return a
new reference or copy. Fixes bug #641927 .
2011-02-24 15:55:00 +01:00
Leo Singer
27178f7aff
adder: Fill in offset_end field of outgoing buffers
...
... rather than leave it as GST_BUFFER_OFFSET_NONE
Fix bug #642942 .
2011-02-24 13:28:13 +01:00
Mark Nauwelaerts
19052a847d
playsink: release all chains when going to NULL
...
Also fixes #642466 .
2011-02-23 14:33:40 +01:00
Mark Nauwelaerts
102b4feddf
playsink: undo state change side effect on error way out
...
... to avoid subsequent cleanup disposing an element not in NULL state.
2011-02-23 14:33:35 +01:00
Mark Nauwelaerts
948e4d50a6
playsink: avoid crashing on the way out when needed chain missing
2011-02-23 10:33:44 +01:00
Parthasarathi Susarla
0ebc34adf9
typefinding: detect raw h.263
...
https://bugzilla.gnome.org/show_bug.cgi?id=623846
2011-02-22 11:47:53 +00:00
Mark Nauwelaerts
d17c4c28d5
audiorate: add skip-to-first property
...
API: GstAudioRate::skip-to-first
2011-02-21 12:58:42 +01:00
Mark Nauwelaerts
bb0dc56114
videorate: fix skip-to-first ts setup
...
... such as avoiding arithmetic mixing counts and ts, although latter
would typically be 0 so far.
2011-02-21 12:58:16 +01:00
Edward Hervey
3fe2777b54
Revert "oggmux,adder: Check if collectpads has been freed"
...
This reverts commit 6d150873e8
.
Depends on a core commit that was reverted.
2011-02-21 12:04:09 +01:00
David Schleef
6d150873e8
oggmux,adder: Check if collectpads has been freed
...
Core now calls release_pad in finalize, which is usually after
the collectpads has been unreffed.
2011-02-20 23:49:54 -08:00
David Schleef
e1149f52c1
videoscale: Add 16-bit-channel support
2011-02-20 12:04:02 -08:00
David Schleef
99d8339289
videotestsrc: Add 16-bit-per-channel formats
2011-02-20 12:04:02 -08:00
Leo Singer
82199c5815
audiotestsrc: each element gets its own instance of GRand, if needed
...
As a result, pipelines that contain multiple instances of audiotestsrc
with the 'wave' property set to 'white-noise', 'pink-noise', or
'gaussian-noise' will run much faster, since they won't be competing
for access to the global, lock-protected instance of GRand.
Fixes bug #642720 .
2011-02-19 08:37:46 +01:00
Sebastian Dröge
0e3c32ac72
playbin2: If a sink claims to support ANY caps assume that it only supports the usual raw formats
...
This should be changed again in 0.11, if a sink really claims to support ANY
caps it should support everything or provide correct caps.
2011-02-18 17:29:07 +01:00
Edward Hervey
4c68f3b597
encodebin: Add a audioconverter after the audio resampler.
...
This allows handling non-native-endianness conversion properly.
2011-02-18 16:08:55 +01:00
Sebastian Dröge
2fc70442a7
playbin2: Use gst_pad_accept_caps() instead of intersecting with the getcaps caps
...
This might be faster and more accurate in some cases to detect if a
sink supports a format and autoplugging can be stopped.
2011-02-18 14:04:38 +01:00
Sebastian Dröge
09750a0132
uridecodebin: Add default handler for autoplug-select
...
uridecodebin proxies this signal and only the first signal handler
will ever be called from decodebin2, which is uridecodebin's proxy
signal handler.
2011-02-18 12:06:30 +01:00
Sebastian Dröge
91122e4efc
uridecodebin: 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:02:18 +01:00
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
Sebastian Dröge
ac38fbc3a7
volume: Implement f64 scaling with orc
...
This requires orc 0.4.10
2010-10-08 00:01:14 +02:00
Sebastian Dröge
f5e9d8bb62
audioconvert: Implement remaining conversion functions from/to doubles to orc
...
This requires orc 0.4.10
2010-10-08 00:01:14 +02:00
Tim-Philipp Müller
4482cacb24
audiorate: use g_object_notify_by_pspec() if possible
...
Use g_object_notify_by_pspec() when building against GLib >= 2.26.
This avoids the pspec lookup which takes the global paramspec pool lock.
2010-10-07 20:54:32 +01:00
Tim-Philipp Müller
82d2669f4f
videorate: use g_object_notify_by_pspec() if possible
...
Use g_object_notify_by_pspec() when building against GLib >= 2.26.
This avoids the pspec lookup which takes the global paramspec pool lock.
2010-10-07 20:37:10 +01:00
Thiago Santos
6d8cb1f42d
streamsynchronizer: Do not advance segment starts beyond stop times
...
Advance stop times too when they are getting higher than the
stop time of segments, avoiding assertions.
The stop time has to be advanced too so that running time keep in sync
for gapless mode.
https://bugzilla.gnome.org/show_bug.cgi?id=631312
2010-10-07 11:20:48 -03:00
Tim-Philipp Müller
a86613a487
videoscale: use math-compat.h here as well
...
Hopefully the powers that be don't mind the gst/glib include here
too much.
2010-10-05 19:15:47 +01:00
Tim-Philipp Müller
383f7edaf4
videotestsrc: include new math-compat.h header for rint() on MSVC
...
Should fix compilation with Visual Studio 2008.
https://bugzilla.gnome.org/show_bug.cgi?id=630802
2010-10-05 19:13:43 +01:00
Sebastian Dröge
bcf7a7341e
volume: Update generated orc files
2010-10-01 10:47:08 +02:00
Sebastian Dröge
c1bf1ba843
volume: Improve f32 scaling by using only a single array
...
Passing the same array as dest and src is invalid anyway because
they're maked with the restrict qualifier.
2010-10-01 10:45:24 +02:00
Arun Raghavan
0cf81938a1
pbutils: add AAC profile detection to codec utils
...
This moves AAC profile detection to pbutils, and uses this in
typefindfunctions. This will also be used in qtdemux.
https://bugzilla.gnome.org/show_bug.cgi?id=617314
API: gst_codec_utils_aac_get_profile()
API: codec_utils_aac_caps_set_level_and_profile()
2010-09-30 13:09:29 +01:00
Arun Raghavan
c77f88cac6
pbutils: add codec-specific utility functions for AAC
...
This allows us to add generic codec-specific functionality, like
extracting profile/level data from headers, without having to duplicate
code across demuxers and typefindfunctions.
As a starting point, this moves over AAC level extraction code from
typefindfunctions, so it can be reused in qtdemux, etc.
https://bugzilla.gnome.org/show_bug.cgi?id=617314
API: gst_codec_utils_aac_get_sample_rate_from_index()
API: gst_codec_utils_aac_get_level()
2010-09-30 13:09:28 +01:00
Edward Hervey
b8dea19bbd
decodebin2: Don't post async-done when not needed
...
Where it was previously located, we would get async-done for the first
unknown-type, even if other valid streams would appear afterwards.
decode_bin_expose() will take care of posting async-done when the group
is exposed.
But we still want to post it in case the typefinding returned an unknown
type, in which case we will post it after posting an error.
These two changes ensure we do as much as possible before posting async-done.
2010-09-29 18:59:16 +02:00
Edward Hervey
4e781d6fe3
volume: orc fixup for loading float arguments
...
This is only used with DISABLE_ORC.
2010-09-20 16:29:20 +02:00
Sebastian Dröge
ff45b44e19
typefindfunctions: Add mp3 to the apetag extensions
2010-09-20 11:14:55 +02:00
David Schleef
ff409e474a
videotestsrc: Fix regression in ball pattern
...
Was painting using two different methods.
2010-09-18 13:15:08 -07:00
David Schleef
bec69e20ae
orc: update generated files to fix MSVC compile issues
2010-09-16 18:03:23 -07:00
David Schleef
af87634078
videoscale: Don't use broken orc feature
2010-09-16 17:56:49 -07:00
Thijs Vermeir
956a075fc4
videotestsrc: Fix indentation
2010-09-16 17:25:00 +02:00
Thijs Vermeir
8d14994bb5
videotestsrc: add bar pattern
...
Simple bar with foreground color on the background color
2010-09-16 17:14:20 +02:00