platform/upstream/gstreamer.git
13 years agoaudioencoder: Fix thread safety issues if both pads have different streaming threads
Sebastian Dröge [Mon, 26 Sep 2011 13:45:40 +0000 (15:45 +0200)]
audioencoder: Fix thread safety issues if both pads have different streaming threads

13 years agoaudioencoder: Delay sending of serialized events to finish_frame()
Sebastian Dröge [Mon, 26 Sep 2011 13:42:14 +0000 (15:42 +0200)]
audioencoder: Delay sending of serialized events to finish_frame()

This makes sure that the caps are already set before any serialized
events are sent downstream.

13 years agoaudioencoder: Use GST_BOILERPLATE instead of custom GObject boilerplate code
Sebastian Dröge [Mon, 26 Sep 2011 13:34:54 +0000 (15:34 +0200)]
audioencoder: Use GST_BOILERPLATE instead of custom GObject boilerplate code

13 years agoaudioencoder: add some tag handling convenience help
Mark Nauwelaerts [Mon, 26 Sep 2011 13:14:41 +0000 (15:14 +0200)]
audioencoder: add some tag handling convenience help

13 years agoaudioencoder: provide CODEC/AUDIO_CODEC handling
Mark Nauwelaerts [Mon, 26 Sep 2011 12:48:55 +0000 (14:48 +0200)]
audioencoder: provide CODEC/AUDIO_CODEC handling

13 years agoaudioencoder: filter AUDIO_CODEC/CODEC tags from passing tag events
Mark Nauwelaerts [Mon, 26 Sep 2011 11:42:38 +0000 (13:42 +0200)]
audioencoder: filter AUDIO_CODEC/CODEC tags from passing tag events

13 years agotypefindfunctions: backport some const-ifications from 0.11 branch
Tim-Philipp Müller [Sun, 25 Sep 2011 14:31:01 +0000 (15:31 +0100)]
typefindfunctions: backport some const-ifications from 0.11 branch

To keep code identical as much as possible between the two branches,
for easier merging.

13 years agotypefindfunctions: fix indentation
Tim-Philipp Müller [Sun, 25 Sep 2011 14:24:56 +0000 (15:24 +0100)]
typefindfunctions: fix indentation

13 years agoencodebin: Avoid unnecessary read only caps copy
Robert Swain [Fri, 23 Sep 2011 15:50:31 +0000 (17:50 +0200)]
encodebin: Avoid unnecessary read only caps copy

13 years agoaudioencoder: proxy some more optional downstream caps fields to upstream
Mark Nauwelaerts [Thu, 22 Sep 2011 13:38:51 +0000 (15:38 +0200)]
audioencoder: proxy some more optional downstream caps fields to upstream

13 years agoaudioencoder: changed is verily the opposite of equal
Mark Nauwelaerts [Thu, 22 Sep 2011 13:38:22 +0000 (15:38 +0200)]
audioencoder: changed is verily the opposite of equal

13 years agoaudioencoder: prevent crashing when comparing to a freshly inited GstAudioInfo
Mark Nauwelaerts [Thu, 22 Sep 2011 13:37:07 +0000 (15:37 +0200)]
audioencoder: prevent crashing when comparing to a freshly inited GstAudioInfo

13 years agoaudio: some more accessor macros for GstAudioInfo
Mark Nauwelaerts [Thu, 22 Sep 2011 13:36:22 +0000 (15:36 +0200)]
audio: some more accessor macros for GstAudioInfo

13 years agoaudiodecoder: fix documentation typo
Mark Nauwelaerts [Thu, 22 Sep 2011 13:34:41 +0000 (15:34 +0200)]
audiodecoder: fix documentation typo

13 years agovideorate: Add tests for the max-rate case
Sjoerd Simons [Mon, 19 Sep 2011 17:32:26 +0000 (18:32 +0100)]
videorate: Add tests for the max-rate case

13 years agovideorate: Print which caps didn't match up
Sjoerd Simons [Mon, 19 Sep 2011 17:31:07 +0000 (18:31 +0100)]
videorate: Print which caps didn't match up

13 years agovideorate: Add a max-rate property
Sjoerd Simons [Mon, 19 Sep 2011 17:26:04 +0000 (18:26 +0100)]
videorate: Add a max-rate property

In various use-case you want to dynamically change the framerate (e.g.
live streams where the available network bandwidth changes). Doing this
via capsfilters in the pipeline tends to be very cumbersome and racy,
using this property instead makes it very painless.

13 years agovideorate: Add test for caps negotiation
Sjoerd Simons [Thu, 1 Sep 2011 16:05:23 +0000 (17:05 +0100)]
videorate: Add test for caps negotiation

13 years agovideorate: Add more strict caps negotiation
Sjoerd Simons [Thu, 1 Sep 2011 15:47:49 +0000 (16:47 +0100)]
videorate: Add more strict caps negotiation

When in drop-only mode we can never provide a framerate that is higher
then the input, so let the caps negotiation reflect this.

13 years agovideorate: don't unref event we don't own
Tim-Philipp Müller [Tue, 20 Sep 2011 12:35:55 +0000 (13:35 +0100)]
videorate: don't unref event we don't own

http://bugzilla.gnome.org/show_bug.cgi?id=659562

13 years agodecodebin2: Only check if this is a discarded type if we have fixed caps
Sebastian Dröge [Tue, 20 Sep 2011 12:04:45 +0000 (14:04 +0200)]
decodebin2: Only check if this is a discarded type if we have fixed caps

For unfixed caps we will get here again later when the caps are fixed.

13 years agodecodebin2: Only call autoplug-continue with fixed caps
Sebastian Dröge [Tue, 20 Sep 2011 12:03:47 +0000 (14:03 +0200)]
decodebin2: Only call autoplug-continue with fixed caps

With unfixed caps we can't reliably decide if the final caps
are going to be "raw" (e.g. supported by a sink) or not.

We will get here again later when the caps are fixed.

13 years agodecodebin2: Fix unit test by strictly implementing parser behaviour instead of relyin...
Sebastian Dröge [Tue, 20 Sep 2011 11:45:55 +0000 (13:45 +0200)]
decodebin2: Fix unit test by strictly implementing parser behaviour instead of relying on basetransform

13 years agooggstream: only use information from skeleton if we have nothing better
Vincent Penquerc'h [Thu, 13 Jan 2011 15:35:30 +0000 (15:35 +0000)]
oggstream: only use information from skeleton if we have nothing better

The codec setup headers are a lot more likely to have correct information,
especially as it's easy to remux a skeleton in a file where streams don't
have the same parameters (I've even seen a file with two skeletons).

Still, this is useful in the case we have a codec we can't decode, so we
can at least (theoretically) convert granpos to time, so we discard this
information if the codec setup has already provided it.

This fixes playback on (at lesat) the original archive.org encoding of
"The Night of the Living Dead" (now replaced by another encoding).

https://bugzilla.gnome.org/show_bug.cgi?id=612443

13 years agodiscoverer: Don't use gtk-doc /* < ... > */ style comments for signals
Age Bosma [Mon, 19 Sep 2011 12:16:19 +0000 (14:16 +0200)]
discoverer: Don't use gtk-doc /* < ... > */ style comments for signals

The /*< ... >*/ style is only used for public|protected|private,
signal comments use /* signals */. This prevents the some code
parsers/binding generators to be confused by the comment.

13 years agosubtitleoverlay: Get the target of the video sinkpad, not the target sinkpad in the...
Sebastian Dröge [Mon, 19 Sep 2011 12:02:00 +0000 (14:02 +0200)]
subtitleoverlay: Get the target of the video sinkpad, not the target sinkpad in the video setcaps handler

13 years agodecodebin2: Initialize variable correctly
Youness Alaoui [Thu, 18 Aug 2011 15:13:23 +0000 (15:13 +0000)]
decodebin2: Initialize variable correctly

If subdrained isn't initialized to FALSE then a chain might think
that its group is drained when in fact it's not and this can cause
a switch too early or even cause a deadlock.

13 years agodecodebin2: Rewrite EOS-handling code
Edward Hervey [Thu, 28 Jul 2011 16:44:33 +0000 (16:44 +0000)]
decodebin2: Rewrite EOS-handling code

This is now really threadsafe and improves switching
between different groups.

13 years agodecodebin2: Fix non-prerolling pipelines and not-linked errors if a parser is availab...
Sebastian Dröge [Mon, 19 Sep 2011 09:53:02 +0000 (11:53 +0200)]
decodebin2: Fix non-prerolling pipelines and not-linked errors if a parser is available but no decoder

Fixes bug #658846.

13 years agortspdefs: add RTCP-Interval header
Mark Nauwelaerts [Mon, 1 Aug 2011 05:54:02 +0000 (07:54 +0200)]
rtspdefs: add RTCP-Interval header

13 years agosubtitleoverlay: Implement support for switching between raw and non-raw video streams
Sebastian Dröge [Mon, 19 Sep 2011 09:24:47 +0000 (11:24 +0200)]
subtitleoverlay: Implement support for switching between raw and non-raw video streams

13 years agotextoverlay: Protect against accessing the NULL parent of the pads during shutdown
Sebastian Dröge [Mon, 19 Sep 2011 07:34:08 +0000 (09:34 +0200)]
textoverlay: Protect against accessing the NULL parent of the pads during shutdown

Fixes bug #658901.

13 years agooggdemux: remove superfluous check in newsegment event handler
Tim-Philipp Müller [Fri, 16 Sep 2011 19:14:39 +0000 (20:14 +0100)]
oggdemux: remove superfluous check in newsegment event handler

If we get a newsegment event from upstream, we can be quite
sure we're not operating pull-based.

13 years agooggdemux: minor printf format fix
Tim-Philipp Müller [Fri, 16 Sep 2011 19:11:56 +0000 (20:11 +0100)]
oggdemux: minor printf format fix

13 years agooggdemux: fix wedge when seeking twice quickly in push mode
Vincent Penquerc'h [Wed, 14 Sep 2011 11:23:19 +0000 (12:23 +0100)]
oggdemux: fix wedge when seeking twice quickly in push mode

This could happen when testing with navseek, and pressing
right and left at roughly the same time. The current chain
is temporarily moved away, and this caused the flush events
not to be sent to the source pads, which would cause the
data queues downstream to reject incoming data after the
seek, and shut down, wedging the pipeline.

Now, I can't really decide whether this is a nasty steaming
hack or a good fix, but it certainly does fix the issue, and
does not seem to break anything else so far.

https://bugzilla.gnome.org/show_bug.cgi?id=621897

13 years agooggdemux: implement push mode seeking
Vincent Penquerc'h [Sat, 13 Aug 2011 13:18:56 +0000 (14:18 +0100)]
oggdemux: implement push mode seeking

This patch implements seeking in push mode (eg, over the net)
in Ogg, using the double bisection method.
As a side effect, it also fixes duration determination of network
streams, by seeking to the end to check the actual duration.

Known issues:
- Getting an EOS while seeking stops the streaming task, I can't
  find a way to prevent this (eg, by issuing a seek in the event
  handler).
- Seeking twice in a VERY short succession with playbin2 fails
  for streams with subtitles, we end up pushing in a dataqueue
  which is flushing. Rare in normal use AFAICT.
- Seeking is slow on slow links - byte ranges guesses could be
  made better, decreasing the number of required requests
- If no granule position is found in the last 64 KB of a stream,
  duration will be left unknown (should be pretty rare)

https://bugzilla.gnome.org/show_bug.cgi?id=621897

13 years agoplaybin2: fix compiler warning
Alessandro Decina [Thu, 15 Sep 2011 20:04:56 +0000 (22:04 +0200)]
playbin2: fix compiler warning

Remove a check for gchar >= 128

13 years agoadder: don't access the event after pushing
Stefan Sauer [Thu, 15 Sep 2011 14:47:26 +0000 (16:47 +0200)]
adder: don't access the event after pushing

Fixes valgrind warnings.

13 years agoRevert "playbin2: autoplug sink if stream is incompatible to the configured one"
Sebastian Dröge [Thu, 15 Sep 2011 12:27:35 +0000 (14:27 +0200)]
Revert "playbin2: autoplug sink if stream is incompatible to the configured one"

This reverts commit b0b4e286c8cde2e79a959a444a2c68e99c3f29c6.

We agreed that the previous (pre-.35) behaviour is broken and a bug and the
current behaviour is correct, deterministic and allows the application to
handle stuff properly while the old behaviour can't be handled properly by
applications and just worked in some applications by luck.

The solution to the problem that was solved by relying on the old, broken
behaviour would be, to make decodebin2/playbin2 more aware of decoders and
improve the autoplugging of decoders by considering the caps supported by the
sink instead of just using something with the highest rank.

See bug #656923.

13 years agoplaybin2: autoplug sink if stream is incompatible to the configured one
Josep Torra [Thu, 15 Sep 2011 07:23:54 +0000 (09:23 +0200)]
playbin2: autoplug sink if stream is incompatible to the configured one

Fixes regression since 0.10.33 where sinks that can cope with non raw
caps or custom caps are not autoplugged if there's a sink configured
with the properties video-sink and audio-sink which cannot handle
the stream. This change checks for compatibility on the configured one
and use it if success. Otherwhise it tries with the found factories.

13 years agooggdemux: do not propagate discontinuities in sparse streams
Vincent Penquerc'h [Sat, 13 Aug 2011 13:14:19 +0000 (14:14 +0100)]
oggdemux: do not propagate discontinuities in sparse streams

The first packet of a sparse stream may arrive after an initial
delay in the stream. If ogg_stream_packetout reports a discontinuity
in a sparse stream, do not propagate it to other streams in the
chain unnecessarily.

https://bugzilla.gnome.org/show_bug.cgi?id=621897

13 years agoRevert "playsink: only add text overlay if vido sink also accepts raw caps"
Josep Torra [Mon, 12 Sep 2011 13:48:59 +0000 (15:48 +0200)]
Revert "playsink: only add text overlay if vido sink also accepts raw caps"

This reverts commit a22faad18a73a27a2a0c903748c1a355df4d8c13. Instead
of disabling subtitles completelly when video stream have custom caps,
just let the sutbtileoverlay cope with them as now it's able to.

13 years agosubtitleoverlay: gracefully handle non raw video streams
Josep Torra [Mon, 12 Sep 2011 13:46:46 +0000 (15:46 +0200)]
subtitleoverlay: gracefully handle non raw video streams

Implement handling of non raw video streams by avoiding colorspace
elements and autoplugging a compatible renderer if available. Fallback
to passthrough if no compatible renderer is found.

13 years agoplaybin2: try to catch malformed URIs
Tim-Philipp Müller [Mon, 12 Sep 2011 14:10:37 +0000 (15:10 +0100)]
playbin2: try to catch malformed URIs

Only log in debug log for now, since the check is a bit
half-hearted, its purpose is mostly to make sure people
use gst_filename_to_uri() or g_filename_to_uri().

https://bugzilla.gnome.org/show_bug.cgi?id=654673

13 years agodocs: minor addition to GST_TAG_ID3V2_HEADER_SIZE docs
Tim-Philipp Müller [Mon, 12 Sep 2011 18:53:51 +0000 (19:53 +0100)]
docs: minor addition to GST_TAG_ID3V2_HEADER_SIZE docs

13 years agotheoraenc: Fix descriptions of properties
Thomas Vander Stichele [Sun, 11 Sep 2011 18:22:59 +0000 (14:22 -0400)]
theoraenc: Fix descriptions of properties

13 years agobaseaudiosrc: don't try to fixate "width" field for alaw/mulaw
Tim-Philipp Müller [Sat, 10 Sep 2011 17:30:55 +0000 (18:30 +0100)]
baseaudiosrc: don't try to fixate "width" field for alaw/mulaw

Fixes warning when trying to fixate e.g. pulsesrc ! audio/x-alaw ! fakesink.

13 years agodocs: fix some typos in the decodebin design document
Tim-Philipp Müller [Fri, 9 Sep 2011 12:10:13 +0000 (13:10 +0100)]
docs: fix some typos in the decodebin design document

13 years agocolorbalance: add some guards to interface methods
Tim-Philipp Müller [Fri, 9 Sep 2011 12:07:57 +0000 (13:07 +0100)]
colorbalance: add some guards to interface methods

https://bugzilla.gnome.org/show_bug.cgi?id=658584

13 years agotypefind: recognize Asylum modules
Vincent Penquerc'h [Fri, 9 Sep 2011 11:07:44 +0000 (12:07 +0100)]
typefind: recognize Asylum modules

Note that there is already a AMF detection for a different
magic, I'm not sure if that's a different format with the
same initials or not. AMF is used for a few different formats
(including video), so...

This fixes playbin2 playing Asylum modules.

https://bugzilla.gnome.org/show_bug.cgi?id=658514

13 years agosubparse: Improve subrip type check regex
Nicolas Dufresne [Thu, 1 Sep 2011 00:51:17 +0000 (20:51 -0400)]
subparse: Improve subrip type check regex

This patch prevents timestamp like "1 1:00:00", which would have been seen
as hour 101 by our parser, and allow single digit hour, minute and seconds
as it's already supported by the parser, and also by other implementation
like in mplayer. This fixes bug 657872.

https://bugzilla.gnome.org/show_bug.cgi?id=657872

13 years agodecodebin: Update design documentation about how Parser/Converter are handled
Sebastian Dröge [Thu, 8 Sep 2011 12:46:23 +0000 (14:46 +0200)]
decodebin: Update design documentation about how Parser/Converter are handled

13 years agoRevert "decodebin2: Do a subset check before actually using a factory"
Sebastian Dröge [Thu, 8 Sep 2011 11:25:27 +0000 (13:25 +0200)]
Revert "decodebin2: Do a subset check before actually using a factory"

This reverts commit 50a88396ae6d54a83a10e7d2efd551d39033148e.

See bug #658541.

13 years agodecodebin2: Don't use bufferalloc in the test elements
Sebastian Dröge [Wed, 7 Sep 2011 14:44:04 +0000 (16:44 +0200)]
decodebin2: Don't use bufferalloc in the test elements

This will cause not-linked errors that usually don't happen
because normal decoders/parsers will set srcpad caps before
allocating buffers from downstream.

13 years agodecodebin2: Make sure to fixate Parser/Converter caps before continuing autoplugging
Sebastian Dröge [Wed, 7 Sep 2011 14:43:36 +0000 (16:43 +0200)]
decodebin2: Make sure to fixate Parser/Converter caps before continuing autoplugging

13 years agoplaysink: only add text overlay if vido sink also accepts raw caps
Josep Torra [Wed, 7 Sep 2011 14:04:43 +0000 (16:04 +0200)]
playsink: only add text overlay if vido sink also accepts raw caps

Fixes regression, pipeline fails with not negotiated, on media
containing subtitles when decoder/sink with custom caps is used.

13 years agodecodebin2: Intersect the factory caps with the current caps for the capsfilter
Sebastian Dröge [Wed, 7 Sep 2011 12:19:32 +0000 (14:19 +0200)]
decodebin2: Intersect the factory caps with the current caps for the capsfilter

Otherwise we'll include many incompatible caps in the capsfilter that
will only slow down negotiation.

13 years agodocs: cleanup makefiles
Stefan Sauer [Wed, 7 Sep 2011 12:07:00 +0000 (14:07 +0200)]
docs: cleanup makefiles

Remove commented out parts that we don't need. Remove "the wingo addition" - no
so useful after all. Narrow down file-globs for plugin docs.

13 years agodocs: add two mising enum docs
Stefan Sauer [Wed, 7 Sep 2011 12:04:10 +0000 (14:04 +0200)]
docs: add two mising enum docs

13 years agoaudiorate: Use complete audio caps, including the endianness field
Sebastian Dröge [Wed, 7 Sep 2011 12:10:46 +0000 (14:10 +0200)]
audiorate: Use complete audio caps, including the endianness field

13 years agodecodebin2: fix element factory refcounting
Tim-Philipp Müller [Wed, 7 Sep 2011 11:32:01 +0000 (12:32 +0100)]
decodebin2: fix element factory refcounting

g_value_get_object() does not give us our own ref.

Fixes "Trying to dispose object "flacparse", but it still has a parent "registry0".
You need to let the parent manage the object instead of unreffing the object directly."
and similar warnings.

https://bugzilla.gnome.org/show_bug.cgi?id=658416

13 years agotheoraenc: do not automatically override quality when using target bitrate
Vincent Penquerc'h [Wed, 7 Sep 2011 10:06:44 +0000 (11:06 +0100)]
theoraenc: do not automatically override quality when using target bitrate

If both quality and bitrate are set, libtheora will try to meet
both constraints, causing it to prefer emitting a smaller number
of good frames, to emitting the full number of frames that would
not meet the requested quality. This causes a slideshow effect
when the bitrate is low and the quality is high. And the default
theoraenc is high (48/63).

So only set quality when it is requested, and leave it unset
otherwise.

https://bugzilla.gnome.org/show_bug.cgi?id=658443

13 years agoAutomatic update of common submodule
Stefan Sauer [Tue, 6 Sep 2011 19:24:33 +0000 (21:24 +0200)]
Automatic update of common submodule

From a39eb83 to 11f0cd5

13 years agoAdd latest files to spec file
Christian Fredrik Kalager Schaller [Tue, 6 Sep 2011 18:18:27 +0000 (19:18 +0100)]
Add latest files to spec file

13 years agodocs: activate overrides file to fix make distcheck
Stefan Sauer [Tue, 6 Sep 2011 18:13:30 +0000 (20:13 +0200)]
docs: activate overrides file to fix make distcheck

13 years agoaudio: rename IS_LE/BE to _IS_LITTLE_ENDIAN/BIG_ENDIAN
Wim Taymans [Tue, 6 Sep 2011 14:46:02 +0000 (16:46 +0200)]
audio: rename IS_LE/BE to _IS_LITTLE_ENDIAN/BIG_ENDIAN

13 years agoaudio: update internal silent sample defines as well to match 0.11
Tim-Philipp Müller [Tue, 6 Sep 2011 14:46:45 +0000 (15:46 +0100)]
audio: update internal silent sample defines as well to match 0.11

13 years agoaudio: update audio format enums to match changes in 0.11
Tim-Philipp Müller [Tue, 6 Sep 2011 14:16:15 +0000 (15:16 +0100)]
audio: update audio format enums to match changes in 0.11

And add new audio format info stuff to docs.

13 years agoAutomatic update of common submodule
Stefan Sauer [Tue, 6 Sep 2011 13:40:02 +0000 (15:40 +0200)]
Automatic update of common submodule

From 605cd9a to a39eb83

13 years agodecodebin2: Do a subset check before actually using a factory
Sebastian Dröge [Tue, 6 Sep 2011 12:16:10 +0000 (14:16 +0200)]
decodebin2: Do a subset check before actually using a factory

This prevents autoplugging if the caps have a non-empty intersection
but are not accepted by the next element's pad.

13 years agosubtitleoverlay: Use subset check instead of non-empty-intersection check to check...
Sebastian Dröge [Tue, 6 Sep 2011 12:04:34 +0000 (14:04 +0200)]
subtitleoverlay: Use subset check instead of non-empty-intersection check to check if pads are compatible

13 years agoplaybin2: Use subset check instead of non-empty-intersection check to check if pads...
Sebastian Dröge [Tue, 6 Sep 2011 12:03:31 +0000 (14:03 +0200)]
playbin2: Use subset check instead of non-empty-intersection check to check if pads are compatible

13 years agodecodebin2: Fix memory leak
Sebastian Dröge [Tue, 6 Sep 2011 11:06:26 +0000 (13:06 +0200)]
decodebin2: Fix memory leak

13 years agodecodebin2: Add unit test for correct parser/converter negotiation
Sebastian Dröge [Tue, 6 Sep 2011 10:14:33 +0000 (12:14 +0200)]
decodebin2: Add unit test for correct parser/converter negotiation

13 years agodecodebin2: Correctly negotiate format for parsers that can convert different stream...
Sebastian Dröge [Sun, 26 Jun 2011 13:40:17 +0000 (15:40 +0200)]
decodebin2: Correctly negotiate format for parsers that can convert different stream formats

This is done by adding a capsfilter after every parser/converter that contains
all possible caps supported by downstream elements. A capsfilter is necessary
here because the decoder is only selected after the parser selected a format
and the parser can't know what downstream would support otherwise.

13 years agoplaybin2: If a audio/video sink was already selected don't check caps of all other...
Sebastian Dröge [Mon, 5 Sep 2011 13:19:42 +0000 (15:19 +0200)]
playbin2: If a audio/video sink was already selected don't check caps of all other possible sinks

13 years agodecodebin2: Add Tim as author for the parser test
Sebastian Dröge [Tue, 6 Sep 2011 06:25:12 +0000 (08:25 +0200)]
decodebin2: Add Tim as author for the parser test

13 years agodocs: more docs clean-ups
Tim-Philipp Müller [Tue, 6 Sep 2011 09:07:33 +0000 (10:07 +0100)]
docs: more docs clean-ups

13 years agovideorate: don't take the object lock twice in {set,get}_property
Vincent Penquerc'h [Mon, 5 Sep 2011 22:00:30 +0000 (23:00 +0100)]
videorate: don't take the object lock twice in {set,get}_property

https://bugzilla.gnome.org/show_bug.cgi?id=658294

13 years agoaudio: fix GST_AUDIO_FORMAT_INFO_IS_*() macros to return a boolean
Tim-Philipp Müller [Mon, 5 Sep 2011 21:51:38 +0000 (22:51 +0100)]
audio: fix GST_AUDIO_FORMAT_INFO_IS_*() macros to return a boolean

13 years agodocs: some docs love
Tim-Philipp Müller [Mon, 5 Sep 2011 20:40:05 +0000 (21:40 +0100)]
docs: some docs love

13 years agodocs: add GstAudioDecoder and GstAudioEncoder to documentation
Tim-Philipp Müller [Mon, 5 Sep 2011 19:45:22 +0000 (20:45 +0100)]
docs: add GstAudioDecoder and GstAudioEncoder to documentation

13 years agoaudio: rename GstBaseAudioDecoder/Encoder to GstAudioDecoder/Encoder
Tim-Philipp Müller [Mon, 5 Sep 2011 14:01:09 +0000 (15:01 +0100)]
audio: rename GstBaseAudioDecoder/Encoder to GstAudioDecoder/Encoder

API: gst_gst_audio_decoder_finish_frame()
API: gst_gst_audio_decoder_get_audio_info()
API: gst_gst_audio_decoder_get_byte_time()
API: gst_gst_audio_decoder_get_delay()
API: gst_gst_audio_decoder_get_latency()
API: gst_gst_audio_decoder_get_max_errors()
API: gst_gst_audio_decoder_get_min_latenc()y
API: gst_gst_audio_decoder_get_parse_state()
API: gst_gst_audio_decoder_get_plc()
API: gst_gst_audio_decoder_get_plc_aware()
API: gst_gst_audio_decoder_get_tolerance()
API: gst_gst_audio_decoder_get_type()
API: gst_gst_audio_decoder_set_byte_time()
API: gst_gst_audio_decoder_set_latency()
API: gst_gst_audio_decoder_set_max_errors()
API: gst_gst_audio_decoder_set_min_latency()
API: gst_gst_audio_decoder_set_plc()
API: gst_gst_audio_decoder_set_plc_aware()
API: gst_gst_audio_decoder_set_tolerance()

API: gst_gst_audio_encoder_finish_frame()
API: gst_gst_audio_encoder_get_audio_info()
API: gst_gst_audio_encoder_get_frame_max()
API: gst_gst_audio_encoder_get_frame_samples()
API: gst_gst_audio_encoder_get_hard_resync()
API: gst_gst_audio_encoder_get_latency()
API: gst_gst_audio_encoder_get_lookahead()
API: gst_gst_audio_encoder_get_mark_granule()
API: gst_gst_audio_encoder_get_perfect_timestamp()
API: gst_gst_audio_encoder_get_tolerance()
API: gst_gst_audio_encoder_get_type()
API: gst_gst_audio_encoder_proxy_getcaps()
API: gst_gst_audio_encoder_set_frame_max()
API: gst_gst_audio_encoder_set_frame_samples()
API: gst_gst_audio_encoder_set_hard_resync()
API: gst_gst_audio_encoder_set_latency()
API: gst_gst_audio_encoder_set_lookahead()
API: gst_gst_audio_encoder_set_mark_granule()
API: gst_gst_audio_encoder_set_perfect_timestamp()
API: gst_gst_audio_encoder_set_tolerance()

https://bugzilla.gnome.org/show_bug.cgi?id=642690

13 years agoencodebin: Select muxer further
Thiago Santos [Wed, 3 Aug 2011 16:31:59 +0000 (13:31 -0300)]
encodebin: Select muxer further

Sort muxers based on their caps and ranking before iterating to
find one that fits the profile.

Sorting is done by putting the elements that have a pad template
that can produce the exact caps that is on the profile. For example:
when asking for "video/quicktime, variant=iso", muxers that
have this exact caps on their pad templates will be put first on
the list than ones that have only "video/quicktime".

https://bugzilla.gnome.org/show_bug.cgi?id=651496

13 years agodecodebin2: Actually iterate over the factories instead of only taking the first one
Sebastian Dröge [Mon, 5 Sep 2011 18:31:04 +0000 (20:31 +0200)]
decodebin2: Actually iterate over the factories instead of only taking the first one

13 years agotests: supress ERROR log output for some tests
Stefan Sauer [Mon, 5 Sep 2011 13:51:25 +0000 (15:51 +0200)]
tests: supress ERROR log output for some tests

Be nice when we tests for correct error handling and don't spam stdout.

13 years agoRevert "playsink: Try include 'pitch', if no other sink is provided"
Tim-Philipp Müller [Mon, 5 Sep 2011 13:40:24 +0000 (14:40 +0100)]
Revert "playsink: Try include 'pitch', if no other sink is provided"

This reverts commit 105814e2c78f9867c61531b9e8166e4ae994296f.

The general consensus seems to be that we should revert this for
now. If such behaviour is desired, we should probably enable it
via a flag. And maybe use the scaletempo plugin instead.

13 years agoplaysink: Don't leak the videochain ts-offset element
Sebastian Dröge [Mon, 5 Sep 2011 10:02:23 +0000 (12:02 +0200)]
playsink: Don't leak the videochain ts-offset element

Also don't leak the audiochain ts-offset element if one is
found but the sink doesn't support volume settings.

13 years agoplaysink: Use gst_object_unref() instead of g_object_unref() for better debugging
Sebastian Dröge [Mon, 5 Sep 2011 09:55:59 +0000 (11:55 +0200)]
playsink: Use gst_object_unref() instead of g_object_unref() for better debugging

13 years agovideoscale: Add modified Lanczos scaling method
David Schleef [Fri, 18 Mar 2011 02:13:58 +0000 (19:13 -0700)]
videoscale: Add modified Lanczos scaling method

Adds a Lanczos-derived scaling method, which is rather slow, but very
high quality.  Adds a few properties that can be used to tune various
scaling properties: sharpness, sharpen, envelope, dither.  Not currently
Orcified, but was designed with that in mind.

13 years agoplayback: Add define for colorspace element
David Schleef [Mon, 16 May 2011 21:46:52 +0000 (14:46 -0700)]
playback: Add define for colorspace element

Single point of change if you want to switch from ffmpegcolorspace
to colorspace.

13 years agovideorate: fix dynamically changing average period
Sjoerd Simons [Thu, 25 Aug 2011 14:14:58 +0000 (15:14 +0100)]
videorate: fix dynamically changing average period

The average_period_set variable can be accessed in different threads, so
always lock it when reading. Furthermore when switching to averaging
mode we should make sure we don't have cached buffers that aren't used
in that mode. And any modeswitch will cause the latency to change, so we
should post a NewLatency message

13 years agovideorate: Port to basetransform
Sjoerd Simons [Tue, 23 Aug 2011 08:11:52 +0000 (10:11 +0200)]
videorate: Port to basetransform

13 years agoCorrect added versions
Sjoerd Simons [Mon, 22 Aug 2011 13:52:57 +0000 (15:52 +0200)]
Correct added versions

13 years agoplaysink: Only unref ts_offset elements if they're not NULL
Sebastian Dröge [Wed, 31 Aug 2011 12:45:08 +0000 (14:45 +0200)]
playsink: Only unref ts_offset elements if they're not NULL

13 years agodecodebin2: Keep the chain mutex locked while connecting to the notify::caps signal
Sebastian Dröge [Wed, 31 Aug 2011 10:39:18 +0000 (12:39 +0200)]
decodebin2: Keep the chain mutex locked while connecting to the notify::caps signal

13 years agoseek: Accept pipeline descriptions for audiosink/videosink
Jan Schmidt [Tue, 30 Aug 2011 08:21:31 +0000 (18:21 +1000)]
seek: Accept pipeline descriptions for audiosink/videosink

Make the element_factory_make_or_warn utility function try parsing
the input string as a bin if element_factory_make() fails. This makes
the --audiosink/--videosink commandline options accept a pipeline
string.

13 years agoplaysink: Try include 'pitch', if no other sink is provided
Jan Schmidt [Tue, 30 Aug 2011 08:21:31 +0000 (18:21 +1000)]
playsink: Try include 'pitch', if no other sink is provided

As a default, try the pipeline 'pitch ! audioconvert ! autoaudiosink'
before trying plain autoaudiosink

13 years agopbutils: don't depend on libgstvideo just to parse some caps
Tim-Philipp Müller [Sat, 27 Aug 2011 13:57:41 +0000 (14:57 +0100)]
pbutils: don't depend on libgstvideo just to parse some caps

Let's extract those ints and fractions ourselves and not depend
on libgstvideo.

13 years agoaudio: add GstBaseAudioDecoder and GstBaseAudioEncoder to build
Tim-Philipp Müller [Sat, 27 Aug 2011 12:31:07 +0000 (13:31 +0100)]
audio: add GstBaseAudioDecoder and GstBaseAudioEncoder to build

However, libgstaudio now depends on libgstvideo (via pbutils).

https://bugzilla.gnome.org/show_bug.cgi?id=642690

API: gst_audio_info_clear()
API: gst_audio_info_convert()
API: gst_audio_info_copy()
API: gst_audio_info_free()
API: gst_audio_info_from_caps()
API: gst_audio_info_init()
API: gst_audio_info_to_caps()
API: gst_base_audio_decoder_finish_frame()
API: gst_base_audio_decoder_get_audio_info()
API: gst_base_audio_decoder_get_byte_time()
API: gst_base_audio_decoder_get_delay()
API: gst_base_audio_decoder_get_latency()
API: gst_base_audio_decoder_get_max_errors()
API: gst_base_audio_decoder_get_min_latency()
API: gst_base_audio_decoder_get_parse_state()
API: gst_base_audio_decoder_get_plc()
API: gst_base_audio_decoder_get_plc_aware()
API: gst_base_audio_decoder_get_tolerance()
API: gst_base_audio_decoder_get_type()
API: gst_base_audio_decoder_set_byte_time()
API: gst_base_audio_decoder_set_latency()
API: gst_base_audio_decoder_set_max_errors()
API: gst_base_audio_decoder_set_min_latency()
API: gst_base_audio_decoder_set_plc()
API: gst_base_audio_decoder_set_plc_aware()
API: gst_base_audio_decoder_set_tolerance()
API: gst_base_audio_encoder_finish_frame()
API: gst_base_audio_encoder_get_audio_info()
API: gst_base_audio_encoder_get_frame_max()
API: gst_base_audio_encoder_get_frame_samples()
API: gst_base_audio_encoder_get_hard_resync()
API: gst_base_audio_encoder_get_latency()
API: gst_base_audio_encoder_get_lookahead()
API: gst_base_audio_encoder_get_mark_granule()
API: gst_base_audio_encoder_get_perfect_timestamp()
API: gst_base_audio_encoder_get_tolerance()
API: gst_base_audio_encoder_get_type()
API: gst_base_audio_encoder_proxy_getcaps()
API: gst_base_audio_encoder_set_frame_max()
API: gst_base_audio_encoder_set_frame_samples()
API: gst_base_audio_encoder_set_hard_resync()
API: gst_base_audio_encoder_set_latency()
API: gst_base_audio_encoder_set_lookahead()
API: gst_base_audio_encoder_set_mark_granule()
API: gst_base_audio_encoder_set_perfect_timestamp()
API: gst_base_audio_encoder_set_tolerance()