Edward Hervey
7b2584ed68
typefindfunctions: Fix unitialized variables
...
yay macosx compilers :(
2010-06-14 14:13:32 +02:00
Edward Hervey
801cab604d
ffmpegcolorspace: Use Quarks for structure name/field checking
2010-06-14 13:28:54 +02:00
Edward Hervey
3f1f8f66ed
ffmpegcolorspace: Speed up _remove_format_info
...
Instead of copying full caps, use the fact that the provided caps only have
one structure and only copy around structures.
2010-06-14 13:28:54 +02:00
Edward Hervey
19f5fda87d
ffmpegcolorspace: Transfer structures instead of copying them
...
Avoids many expensive structure copies
2010-06-14 13:28:50 +02:00
Prahal
2cb7cfab19
decodebin2: use accumulator for autoplug-sort
...
Use an accumulator for the autoplug-sort signal so that we can stop the emission
when a signal handler produced a valid result. This avoids the object handler
to overwrite the results from user signals.
Fixes #621161
2010-06-14 11:19:10 +02:00
Sebastian Dröge
fa8fd0d7f6
videoscale: ...and add Y16 case for the linear scaling
2010-06-13 20:57:19 +02:00
Sebastian Dröge
c2e01e09c4
videoscale: Add Y16 case for 4-tap scaling
2010-06-13 20:38:23 +02:00
Sebastian Dröge
c2bdfc11af
videoscale: Use correct variables for debug output
2010-06-12 21:04:48 +02:00
Sebastian Dröge
cef0bc9657
ffmpegcolorspace: Fix Y16 from/to GRAY8 conversion
2010-06-12 16:51:41 +02:00
Sebastian Dröge
398c1c5fc8
ffmpegcolorspace: Don't crash when doing gray YUV to GRAY conversion
2010-06-12 16:31:49 +02:00
Sebastian Dröge
2ec067c9fc
videoscale: Update disted orc files
2010-06-12 16:23:23 +02:00
Sebastian Dröge
dc110b3b37
uridecodebin: Allow video/webm for progressive downloading
2010-06-12 16:16:37 +02:00
Sebastian Dröge
c3cfb404ae
videoscale: Add support for more gray formats
2010-06-12 13:59:32 +02:00
Sebastian Dröge
b4c2af416d
videoscale: Use libgstvideo for caps parsing, etc
2010-06-12 13:51:26 +02:00
Sebastian Dröge
d91e3d8d78
videoscale: Use GST_VIDEO_CAPS_GRAY{8,16}
2010-06-12 13:00:26 +02:00
Sebastian Dröge
944cfa5871
videoscale: Implement linear merging of Y16 scanlines with orc
2010-06-12 12:57:14 +02:00
Tim-Philipp Müller
b5a7e96291
typefinding: look for dts frames at non-zero offsets too
...
Scan a bit into the data when checking for dts frames instead
of expecting the frame sync to be right at the start of the
data. This is needed for some dts-disguised-as-pcm-in-wav files.
See #413942 .
2010-06-11 15:59:54 +01:00
Tim-Philipp Müller
9235c91bec
typefinding: add typefinder for dts audio
2010-06-11 15:59:53 +01:00
Sebastian Dröge
2b9670958d
playbin2: If the text-sink claims to support ANY caps assume it only support raw plaintext subtitles
...
Fixes bug #621071 .
2010-06-10 13:06:54 +02:00
Stefan Kost
487c88ca42
volume: make the orc codes available for testing.
...
Add a USE_ORC define for now and switch 'this' to 'self'. Having orc enabled
passes the test suite and various manual gst-launch pipelines.
2010-06-09 16:59:10 +03:00
Tim-Philipp Müller
164a91d10d
Fix build if orc is not installed
...
Orc is not a hard requirement. Things should still compile and
work without orc, but slow fallback code may be used in this
case. Fix up configure to not error out if orc is not installed
and wrap use of orc profiling in audioresample in #ifdefs.
Fixes #620136 some more.
2010-06-08 13:26:53 +01:00
David Schleef
d7f7e1cc23
audioconvert, videotestsrc: Update generated Orc code
...
Fixes compile errors with initialization of unions.
2010-06-08 00:33:31 -07:00
David Schleef
e39e729a70
audioresample: convert from liboil to orc
2010-06-07 23:58:54 -07:00
David Schleef
3bbdc0c5a2
volume: convert from liboil to orc
2010-06-07 23:58:54 -07:00
David Schleef
dbcf70eaae
videotestsrc: convert from liboil to orc
2010-06-07 23:58:54 -07:00
David Schleef
dbfd5a5af8
videoscale: convert from liboil to orc
2010-06-07 23:58:54 -07:00
David Schleef
c49806ed16
audioconvert: convert from liboil to orc
2010-06-07 23:58:53 -07:00
David Schleef
c4ab9c0de8
adder: convert from liboil to orc
2010-06-07 23:58:53 -07:00
Wim Taymans
ecc9a28152
playbin2: add av-offset property
...
Add av-offset property to control the audio and video sync offset. This can be
used to to manually correct badly synced streams.
See #620529
2010-06-07 14:38:42 +02:00
Sebastian Dröge
39b68dc2a8
ffmpegcolorspace: Map "Y8 " and "GREY" to "Y800" and add it to the template caps
2010-06-07 08:31:53 +02:00
Martin Bisson
4c0b39b680
ffmpegcolorspace: Add support for Y800 and Y16
...
Fixes bug #620441 .
2010-06-07 08:18:04 +02:00
Tim-Philipp Müller
261a1447fa
typefinding: fix log function printf format issue
2010-06-06 16:46:55 +01:00
Tim-Philipp Müller
d4269515fa
typefinding: stop jpeg typefinding once we found a SOF marker
2010-06-05 18:25:51 +01:00
Tim-Philipp Müller
95b4de4ed7
typefinding: improve jpeg typefinder
...
Make jpeg typefinder check more than just the first two bytes
plus Exif or JFIF marker. This allows us to report MAXIMUM
probability in cases where there's no Exif or JFIF marker,
making typefinding stop early. Also extract width and height,
because we can.
2010-06-05 18:06:42 +01:00
Tim-Philipp Müller
14d14a9143
typefinding: fix AC-3 typefinding so that it actually checks for a second frame
...
Fix typo that made the AC-3 typefinder not actually check for a
second frame, but rather compare the sync point found to itself,
which resulted in the AC-3 typefinder reporting an overly optimistic
MAXIMUM or VERY_LIKELY probability when it found a possible frame
sync.
2010-06-05 17:24:31 +01:00
Wim Taymans
13f6829497
playbin2: improve screenshot code
...
Use appsrc and appsink in the screenshot code to make things nicer.
2010-06-05 12:27:12 +02:00
Wim Taymans
31ef191f01
playsink: add convert-frame action signal
...
Add a convert-frame action signal.
Fixes #620279
2010-06-05 11:09:41 +02:00
Wim Taymans
3cf75c34d3
playbin2: move marshaller to screenshot
...
Move the marshaller for the convert_frame signal to the screenshot file in
preparation for moving it to playsink.
See #620279
2010-06-05 11:09:41 +02:00
Wim Taymans
afcf3a3517
playbin2: move convert_frame to playsink
...
Move the convert_frame function to playsink and make it part of the API. This is
in preparation to add the convert_frame signal to playsink.
See #620279
2010-06-05 11:09:40 +02:00
Wim Taymans
823089cf68
playsink: add property to get the last frame
...
Add a property to get the last video frame.
See #620279
2010-06-05 11:09:40 +02:00
Edward Hervey
cbff745b49
decodebin2: Handle raw streams we don't want.
...
If a file contains raw streams (not requiring a decoder) that we do
not want (expose-all-streams == FALSE), we would previously consider
those of unknown-type (missing a decoder) ... whereas in fact it was just
because they don't need decoders.
This only applies if expose-all-streams is FALSE.
2010-06-04 19:30:14 +02:00
Edward Hervey
514a34b255
audiorate: Fix buffer offset_end when within tolerance.
...
This fixes issues if we then have downstream elements that operate
on offset/offset_end.
And add the expected timestamp in the debug logs
2010-05-26 08:51:09 +02:00
Sebastian Dröge
e3285fb53d
videotestsrc: Fixate interlaced, chroma-site and color-matrix fields if necessary
2010-05-22 10:05:40 +02:00
Sebastian Dröge
258e519b49
videorate: Use new string fixation function from core
2010-05-22 10:02:46 +02:00
Sebastian Dröge
b1a9af61c7
videorate: Fixate color-matrix and chroma-site fields if necessary
2010-05-22 09:53:22 +02:00
Sebastian Dröge
220a61f821
videorate: Fixate the interlaced field if necessary
...
Fixes bug #619310 .
2010-05-22 09:53:18 +02:00
Sebastian Dröge
760ae91ec3
typefindfunctions: Add IVF typefinder
2010-05-22 08:55:51 +02:00
Tim-Philipp Müller
33b5172822
videorate: pass object to logging functions, use GST_DEBUG_FUNCPTR
2010-05-21 18:16:07 +01:00
Philip Jägenstedt
3762cfd3d7
typefind: Detect WebM as video/webm
...
Refactor matroska_type_find into ebml_check_header and a new
matroska_type_find and webm_type_find.
2010-05-19 19:24:35 +02:00
Alessandro Decina
a9c6c978b6
playbin2: fix a typo introduced by 9d753824
.
...
video/x-raw-float => audio/x-raw-float. Fixes #619090 .
2010-05-19 16:17:19 +02:00
Sebastian Dröge
9d7538247f
playbin2: Don't put "raw" subtitle types in the raw caps for decodebin2
...
We handle them from the autoplug-continue signal, where the caps supported
by the subtitle sink or overlay are known already.
2010-05-18 08:45:52 +02:00
Sebastian Dröge
0c85f2c890
playsink: Don't fail if subtitles are used but only audio is available and no visualizations
...
Instead simply disable displaying of the subtitles for now, as was
intended by that part of code...
Fixes bug #610866 .
2010-05-14 17:17:33 +02:00
Sebastian Dröge
e5304c3040
playsink: Fix deadlock caused from an additional lock instead of unlock
...
Also improve debug output for the playsink lock.
2010-05-14 17:13:17 +02:00
Sebastian Dröge
a6a125e4ba
videoscale: Use passthrough mode if width and height are not changed
...
It doesn't matter if the PAR changes or not, processing of every pixel
is only necessary when the width or height changes.
2010-05-13 12:17:31 +02:00
Sebastian Dröge
b3808a57d4
videoscale: Try harder to keep the DAR if possible
...
Fixes bug #371108 .
2010-05-13 11:16:02 +02:00
Sebastian Dröge
9f677090d5
videoscale: Log PAR and DAR of input and output caps when setting caps
2010-05-13 11:16:01 +02:00
Sebastian Dröge
eb2166c97d
videoscale: Set input width/height if the output caps don't have any width or height
2010-05-13 11:16:01 +02:00
Andoni Morales
75a2e14e06
videoscale: Try to keep DAR when scaling
...
Fixes bug #371108 .
2010-05-13 11:16:01 +02:00
Sebastian Dröge
1990364816
videotestsrc: Fixate PAR to 1/1 if possible
2010-05-12 10:32:48 +02:00
Edward Hervey
37e975b8cc
ffmpegcolorspace : whooops
2010-05-07 19:49:57 +02:00
Edward Hervey
516c824687
ffmpegcolorspace: more minor cleanups
2010-05-07 19:21:13 +02:00
Edward Hervey
0d451ad9cb
ffmpegcolorspace: speedup caps transformation
...
* don't re-create our possible caps every single time, just use the
template caps.
* don't intersect the caps against the template, basetransform has already
done that for us.
62% speedup of _transform_caps() (instruction calls, measured with callgrind)
2010-05-07 17:38:46 +02:00
Edward Hervey
20d643ccda
uridecodebin: add the 'expose-all-streams' property from decodebin2
...
API: expose-all-streams
https://bugzilla.gnome.org/show_bug.cgi?id=617868
2010-05-07 17:38:45 +02:00
Edward Hervey
ac4188bd54
decodebin2: Add a property to not expose/decode all streams
...
API : expose-all-streams
If disabled:
* only the streams that CAN be decoded and match the final caps will have a
decoder plugged in and be exposed.
* the streams that COULD HAVE BEEN decoded but do not match the finals caps
will not have a decoder plugged in and will not be exposed.
If no decoder is available to decode a certain stream, then the missing element
message will still be emitted regardless of the value of the property.
https://bugzilla.gnome.org/show_bug.cgi?id=617868
2010-05-07 17:38:38 +02:00
Edward Hervey
e84b203de2
decodebin2: rename are_raw_caps to are_final_caps, correct comment
...
https://bugzilla.gnome.org/show_bug.cgi?id=617868
2010-05-07 17:18:37 +02:00
Stefan Kost
4965782c48
audioconvert: disambigue comment due to popular demand
...
Write "target depth" instead of "our depth" or previous ambigous "out depth".
2010-05-07 00:10:22 +03:00
Mark Nauwelaerts
85a8a09ce7
playsink: disconnect signals in some more cleanup cases
2010-05-06 15:41:52 +02:00
Stefan Kost
4967d4e3fd
videoscale: use can_intersect to avoid a caps copy
2010-05-06 09:17:33 +03:00
Stefan Kost
948d06e4b3
videorate: trucate own caps, instead of copying and using the first only
...
We got the caps from an intersect, it is our own, hence we can truncate it.
Besides gst-indent has chooses to line-up all caps in one line again :/.
2010-05-06 09:14:25 +03:00
Stefan Kost
34f8ab5751
decodebin: use can_intersect to avoid a caps copy
2010-05-06 09:12:32 +03:00
Stefan Kost
51739d562c
audioconvert: fix typo in comment
2010-05-06 08:22:36 +03:00
Wim Taymans
f99cb8b9bd
uridecodebin: add all qtdemux types to downloadable types
...
Add all the media types that qtdemux can handle to the list of downloadable
types.
2010-05-04 17:54:01 +02:00
Mark Nauwelaerts
db4ccd8610
playbin2: forward duration query duration during group switch if no cached duration
...
... such as during first group setup.
Fixes #616396 .
2010-04-30 13:36:59 +02:00
Stefan Kost
274f80c7a1
adder: only accept seek-types none and set
...
Previously we were also acting on cur and end, but treating them like none.
2010-04-30 09:24:14 +03:00
Stefan Kost
ab223520ed
adder: rework timestamping
...
Adder was using always incrementing timestamps. Seeking was done by setting the
position in the newsegment event. This was failing when doing segmented seeks
with rate<0.0, as offset (and thus timestamp) would go below 0.
Now we take both cur and end from the seek event. We construct newsegment events
depending including cur and end from the seek event. We set position to the
start of the segment. Timestamp is set to start or end of segment depending on
rate. Offset is recalculated.
2010-04-30 09:24:13 +03:00
Sebastian Dröge
eec0f7c876
playsink: Add support for deinterlacing
...
This is disabled by default and can be enabled with the
deinterlace flag.
Fixes bug #547603 .
2010-04-29 18:21:21 +02:00
Sebastian Dröge
a6be04a73a
playbin2: Add flag for enabling/disabling automatic deinterlacing
2010-04-29 18:21:21 +02:00
Sebastian Dröge
1a9c07e5ba
playbin: Use g_once_init_{enter,leave} instead of GOnce for enum/flag registration
2010-04-29 18:21:21 +02:00
Sebastian Dröge
bd64568bf4
ffmpegcolorspace: Use GST_BOILERPLATE and use GstVideoFilter as base class
...
This gives automatic QoS handling.
2010-04-29 18:21:21 +02:00
Sebastian Dröge
6c9ead7030
playsink: Correctly reconfigure the video chain when switching from a subtitle to a non-subtitle file
...
Fixes bug #616422 .
2010-04-29 18:21:21 +02:00
Sebastian Dröge
cc8a5bdcd3
playbin2: If a text sink is provided, let subtitle parsing be done by decodebin2 if required
...
This way subtitle sinks only get buffers in the format that they
understand, i.e. raw parsed text in most cases.
Fixes bug #614942 .
2010-04-29 18:21:21 +02:00
Sebastian Dröge
5cfd799076
playbin2: Set subtitle encoding on the decodebins again
2010-04-29 18:21:21 +02:00
Sebastian Dröge
838d76dc4b
videoscale: Some random cleanup
2010-04-29 18:21:21 +02:00
Sebastian Dröge
43b370358d
videoscale: Add support for Y444, Y42B and Y41B
2010-04-29 18:21:21 +02:00
Sebastian Dröge
2fb31ad43c
videoscale: Reorder template caps by the amount of information contained in the color formats
2010-04-29 18:21:21 +02:00
Joshua M. Doe
8dfa792bc9
videorate: add support for video/x-raw-gray
2010-04-29 18:21:21 +02:00
Sebastian Dröge
b5853bf8ba
ffmpegcolorspace: Fix Y41B->Y444 conversion
...
...which is the intermediate conversion for conversion to all
other formats.
Fixes bug #616545 .
2010-04-22 20:58:29 +02:00
Sebastian Dröge
0a8b8ceda0
audiorate: Don't leak the input buffer in error cases
...
Fixes bug #615572 .
2010-04-16 20:51:48 +02:00
Tim-Philipp Müller
b5f0b7c221
build: use LDADD instead of LDFLAGS to specify libs to link to when building executables
...
Use foo_LDADD instead of foo_LDFLAGS to specify the libraries to link to.
This should make sure arguments are passed to the linker in the right
order, and makes LDFLAGS usable again.
Based on initial patch by Brian Cameron <brian.cameron@oracle.com>
Fixes #615697 .
2010-04-14 14:08:15 +01:00
Tim-Philipp Müller
555a3a5d14
typefinding: add channels and rate to ADTS caps if we can
2010-04-12 15:04:31 +01:00
Arun Raghavan
43a04483d9
typefinding: add AAC level to ADTS caps
...
This adds code to calculate the level for a given AAC stream and export
it in the stream caps. For AAC LC streams, the level is calculated
according to the definition under the AAC Profile. For other streams,
the definition under the Main Profile is used.
HE-AAC support is still to be done, and is dependent on detecting the
presence of SBR and PS in the stream.
Level is added as a field of type string because that's the way it's
done in H.264 caps as well. There are only a few possible levels, so
not using a numerical type is not too painful in this case, and
consistency is nice.
Fixes #613589 .
2010-04-12 15:04:31 +01:00
Arun Raghavan
34dcb8458e
typefinding: add AAC profile to ADTS caps
...
This looks at the AAC profile for ADTS streams and adds the profile as a
string in the corresponding caps.
Profile is the actual profile, base-profile denotes the minimum codec
requirements to decode this stream. In this case they're always the
same, but they may differ e.g. in case of certain HE-AAC streams that
can be partially decoded by LC decoders (with loss of quality of course)
if no suitable HE-AAC decoder is available.
Fixes #612312 .
2010-04-12 15:04:23 +01:00
Stefan Kost
57cc1150a9
adder: add support for negative playback rates
...
Decrement sample counter when playing backwards. Set proper segment when playing
backwards (0..cur instead or cur..-1). Add more logging and fix a format string.
2010-04-11 23:23:39 +03:00
Tim-Philipp Müller
62b1764552
playback, ogg: dist new gstplayback.h and gstogg.h
2010-04-09 09:26:08 +01:00
Thomas Green
57b64c001a
playbin: Only unref the volume element on dispose and when a new audio sink is set
...
Unreffing it whenever the sinks are removed will make the volume
element unavailable after a playbin reuse because it is only
recreated if the audio sink has changed.
Fixes bug #614288 .
2010-04-09 08:23:33 +02:00
Stefan Kost
45b39fcfc1
audiotestsrc: swap timestamps in forward and reverse mode.
...
In reverse mode we want use the next next timestamp (and not the other way
around). Fixes the tests again. Also readd a log line that was dropped with
previous commit.
2010-04-03 22:52:01 +03:00
Stefan Kost
718edb5c14
audiotestsrc: implement reverse playback
...
Support playback at negative rates. When having a GstController assigned, the
element will produce time dependend output.
2010-04-02 21:04:37 +03:00
Edward Hervey
8db7eb4037
gstplaysink: Remove unused variable.
...
The value of klass is never used
2010-04-01 13:55:15 +02:00
Edward Hervey
a58183459f
decodebin2: Removing dead assignment.
...
The value of group is overwritten a few lines below before being used.
2010-04-01 13:53:37 +02:00
Robert Swain
6515b43e40
playsink: Fix aduio_raw_sink typo
2010-03-30 15:10:42 +02:00
Tim-Philipp Müller
e1f38a685b
build: build plugin and example directories in parallel if make -jN is used
...
We know our plugins and examples are independent of each other, so may
just as well build them in parallel. Makes the output a bit messy, but
that shouldn't be a problem and can easily be avoided with make -j1.
2010-03-29 00:26:59 +01:00
Wim Taymans
133f804d2d
uridecodebin: we can handle avi in download mode too
...
Add avi to the whitelisted types that can be used for download buffering.
2010-03-26 18:24:58 +01:00
Sebastian Dröge
08589317f8
videotestsrc: Only set color-matrix and chroma-site for relevant formats
...
The color-matrix only makes sense for colorful formats, i.e. not Y800
and the chroma-site only for non-4:4:4(:4) formats.
2010-03-19 16:43:14 +01:00
Tim-Philipp Müller
58a92964c6
build: Makefile.am fixes
...
Mostly just add missing $(GST_BASE_CFLAGS), but also fix up order
of flags (see docs/random/moving-plugins).
2010-03-19 01:00:36 +00:00
Sebastian Dröge
bbdc60fbcb
videoscale: Use correct boundary checks for YUY2/UYVY
...
Fixes bug #613093 .
2010-03-17 16:47:31 +01:00
Sebastian Dröge
5f10a8a9b5
volume: Remove useless cast
...
It's not necessary anymore after latest core change to GstValueArray.
2010-03-17 15:41:45 +01:00
Benjamin Otte
253d9acbcd
Fix for -Wold-style-definition
...
I didn't add the flag to configure because libvisual ships headers that
trigger this warning.
2010-03-17 12:09:25 +01:00
Benjamin Otte
1471df894a
Add -Wformat-nonliteral -Wformat-security
...
And fix the resulting compile failures.
I'm sorry about the patch necessary to gstclockoverlay.h but after
talking to Tim we decided we can live with it.
2010-03-17 12:09:25 +01:00
Benjamin Otte
3bd4aa26ff
Add -Wwrite-strings to configure
...
Fixes for the code included
2010-03-16 17:41:51 +01:00
Benjamin Otte
5e21fa5e0e
gst_element_class_set_details => gst_element_class_set_details_simple
...
Also change my email from the old university one to the current one.
2010-03-16 17:41:50 +01:00
David Hoyt
cfa8de336c
typefind: use g_ascii_strncasecmp() instead of strncasecmp()
...
g_ascii_strncasecmp() is more portable and likely more robust as
well (with random binary data as input).
Fixes #612845 .
2010-03-15 18:45:13 +00:00
Tim-Philipp Müller
0ed09fef0d
videotestsrc: use C comments instead of C++-style comments
2010-03-15 13:40:47 +00:00
Tim-Philipp Müller
8ff8195108
videotestsrc: use g_value_set_static_string() for string constants
2010-03-15 13:40:47 +00:00
Sebastian Dröge
bd2277d214
playsink: Avoid g_object_set() on NULL if a text sink is used
...
Fixes bug #611702 .
2010-03-15 14:26:28 +01:00
Sebastian Dröge
a6ffa3fbb5
subparse: Correctly escape brackets in DKS regex
...
Fixes bug #612783 .
2010-03-15 14:10:09 +01:00
David Schleef
84ed474e6a
videotestsrc: add chroma-zone-plate pattern
...
pattern=chroma-zone-plate is pattern similar to zone-plate,
but in the chroma channels instead of luma.
2010-03-15 01:35:15 -07:00
David Schleef
ac9b69a088
videotestsrc: add chroma-site to caps
2010-03-15 01:33:36 -07:00
David Schleef
c1974322ea
videotestsrc: Add color-matrix to template caps
2010-03-14 16:18:34 -07:00
Sebastian Dröge
944d6b1786
volume: Revert rounding behaviour changes when using controlled volume properties
...
Now the controlled and non-controlled code paths are all having
exactly the same rounding behaviour and the unit tests pass again.
2010-03-12 15:49:17 +01:00
Sebastian Dröge
baf2fc1c58
volume: Only allocate a mute value array if a control source exists for the mute property
2010-03-12 15:49:17 +01:00
Benjamin Otte
3a7d632a59
Add -Wredundant-decls to warning flags
...
... and fix all the warnings that flag throws.
2010-03-11 15:38:18 +01:00
Benjamin Otte
43b1683421
Add -Wmissing-declarations -Wmissing-prototypes to warning flags
...
Includes all the fixes necessary to make stuff compile again.
2010-03-11 13:50:31 +01:00
Mark Nauwelaerts
0f6cf41947
playsink: provide correct error message if configured audio/video sink fails
2010-03-10 14:37:05 +01:00
David Schleef
173b0758dc
videotestsrc: Add color-matrix to caps
2010-03-09 13:11:38 -08:00
Sebastian Dröge
71ca26fc7f
playsink: Don't fail if there are subtitles and audio but no video
...
Change playbin2 to not error out if there are subtitles and audio
but no video. If visualizations are enabled the subtitles are rendered on top
of the visualization stream, otherwise the subtitles are not linked at all and
only the audio is played (and a warning message is posted).
If there are only subtitles but neither audio nor video an error message is
still posted.
Fixes bug #610866 .
2010-03-09 21:01:38 +00:00
Sebastian Dröge
5d0957525a
volume: If a controller is used, use sample accurate property values
...
Fixes bug #609801 .
2010-03-09 20:58:38 +00:00
Josep Torra Valles
25fc69e6aa
playsink: avoid g_object_set() on NULL pointers
...
There may not be an overlay element if a text-sink is set.
Fixes #611702 .
2010-03-03 20:15:44 +00:00
Thiago Santos
616f130d05
videorate: Improve upstream negotiation
...
Put peer pad caps preferred framerates first, indicating
they are videorate's first choices, removing an unnecessary
conversion.
Fixes #608025
2010-02-22 17:03:07 -03:00
Sebastian Dröge
ff21fe1d25
playbin2, playsink, subtitleoverlay: Set subtitle encoding properly
...
For this add subtitle encoding properties to playsink and subtitleoverlay
and update the values in the containing elements.
Also update the font description in textoverlay or the used renderer
element if it is changed during playback.
Fixes bug #610310 .
2010-02-22 20:47:34 +01:00
Sebastian Dröge
9fa9834535
playsink: Ghost the video sinkpad if a text sinkpad is available
...
Only don't ghost it if no visualizations are need and if
no text is needed and no textchain was created yet.
Fixes bug #610379 .
2010-02-19 17:44:18 +01:00
David Schleef
8cf4f48892
tcp(client/server)src: Fix handling of closed sockets
...
The peer closing the socket should cause an EOS, instead of
silently doing nothing. This changes the behavior to be
more like fdsrc. Fixes : #610386
2010-02-18 11:44:59 -08:00
Tim-Philipp Müller
3be20d7a5e
uridecodebin: use same message string for missing elements as in playbin
...
Use the same translated message string for missing core elements as
playbin uses, which is a bit nicer and also indicates that there is
something wrong with the user's GStreamer installation (which arguably
is the case if elements like typefind or queue2 are missing).
2010-02-16 10:09:54 +00:00
Kaj-Michael Lang
0230f7ed9e
typefind: Handle stm module format
...
Fixes #609314 .
2010-02-15 12:50:45 +00:00
Sebastian Dröge
09f972bdba
playbin2: Post a missing element message and an error message if no uridecodebin can be found
2010-02-15 08:48:58 +01:00
Sebastian Dröge
dbf632f3fb
playsink: Post missing element messages if a core plugin is missing
...
And post a warning in cases where we can still continue to work
or an error when the missing element is fatal.
2010-02-15 08:46:26 +01:00
Sebastian Dröge
cdf53e5e86
decodebin2: First post a missing-plugin message, then emit the unkown-type signal
...
This makes sure that there *always* is a missing plugin message in the bus
before any errors or warning messages.
2010-02-15 08:26:05 +01:00
Sebastian Dröge
9677ca5037
uridecodebin: Missing decoder errors should be STREAM CODEC_NOT_FOUND
...
and not CORE MISSING_PLUGIN.
2010-02-15 08:20:41 +01:00
Sebastian Dröge
ecffd51751
playbin2: Free the subtitle URI
2010-02-15 08:18:06 +01:00
Sebastian Dröge
9716d51755
uridecodebin: Post missing plugin messages if a required element can't be created
...
Especially if no suitable URI source can be found.
2010-02-15 08:06:44 +01:00
Sebastian Dröge
b37de8a63b
decodebin2: Set ghostpad targets to NULL when freeing a decode chain
...
Otherwise the ghostpad will still be linked to the peer and there
will still be a reference kept, leading to nothing being unlinked
and destroyed until decodebin2 is finalized.
This fixes reuse of decodebin2 if a raw stream is connected to
its sinkpad.
2010-02-15 01:21:14 +01:00
Sebastian Dröge
2788db62ae
volume: Replace this variables by self
2010-02-13 01:08:05 +01:00
Josep Torra Valles
d58f4fcf48
playsink: Reset the sink's state to NULL before unreffing it unless it's the same instance again
...
This makes sure that we don't destroy the last reference before the
element gets back to NULL state. Fixes assertion failures if a playbin2
instance is reused but different sinks are automatically chosen because
of different caps.
2010-02-12 19:43:13 +01:00
Wim Taymans
3ae58733a5
uridecodebin: avoid some typecasts
2010-02-12 12:31:49 +01:00
Sebastian Dröge
8b1e42f272
ffmpegcolorspace: Add conversions from all ARGB formats to AYUV and back
2010-02-12 11:00:08 +01:00
Tim-Philipp Müller
729b6da76a
Revert "playbin2: Only allow to set the URIs in states <= READY or from an about-to-finish signal handler"
...
This reverts commit 7335ce5d3e
.
Support abusing the uri property to configure the next uri to play
outside of the about-to-finish handler for the time being after all.
We also shouldn't use thread private structures for this, since it
should be possible to block the thread that emitted about-to-finish
while the main thread sets the uri property. See #607226 .
2010-02-04 18:32:48 +00:00
Wim Taymans
fd755182b1
uridecodebin: clean up decodebin properties
...
When reusing a decodebin2 element, clear the properties we might have changed,
to their default values or else we might end up with old configuration.
Fixes #608484
2010-02-01 15:00:18 +01:00
Tim-Philipp Müller
16601b09fe
playbin2: when no uri is set, post an error message
...
When no uri is set, don't just return STATE_CHANGE_FAILURE from the
state change function, but actually post an error message.
2010-01-30 15:41:32 +00:00
Wim Taymans
b44a5c8dc7
adder: don't hold object lock when calling peer elements
...
Do not hold the object lock while we call methods on peer elements as this can
lead to deadlocks.
Fixes #608179
2010-01-28 17:43:47 +01:00
Edward Hervey
c60f94da58
decodebin2: Don't skip an element when getting the topology
...
Fixes #608167
2010-01-26 17:29:21 +01:00
Julien Moutte
d6108b8fad
subtitleoverlay: relax caps template on sink pads
...
Allow any caps on sink pad templates as we could do passthrough with non raw
video caps.
2010-01-25 18:57:52 +01:00
Sebastian Dröge
fcf2668b20
Revert "inputselector: Protect g_object_notify() with the object's mutex"
...
This reverts commit a37426c41c
, it's
causing deadlocks with playbin2.
2010-01-25 12:22:17 +01:00
Kipp Cannon
a37426c41c
inputselector: Protect g_object_notify() with the object's mutex
...
This works around the thread unsafety of g_object_notify()
Fixes bug #607513 .
2010-01-24 20:55:26 +01:00
Sebastian Dröge
1ae783dafc
typefindfunctions: Add typefinder for ISO MP4 files
...
Fixes bug #607848 .
2010-01-24 20:46:58 +01:00
Tim-Philipp Müller
eef885cf86
typefinding: optimise AC-3 typefinder a bit
...
Make AC-3 typefinder use the DataScanCtx stuff so we don't have to
do gst_type_find_peek() in the inner loop all the time. Also return
when we've suggested AC3 caps, instead of continuing with the loop.
2010-01-23 15:28:02 +00:00
Tim-Philipp Müller
ca7ba91e5b
Revert "typefind: Reduce number of calls to gst_type_find_peek."
...
This reverts commit c661bfaa99
.
This breaks AC-3 typefinding for all cases where the first frame
is at an offset > 0.
2010-01-23 15:27:49 +00:00
Wim Taymans
12af633942
uridecodebin: handle raw sources about-to-finish signals
...
When we are dealing with a source that produces raw audio/video, we don't use a
decodebin2 to decode the data and we thus don't have the drained/about-to-finish
signal emited. To fix this, we add a padprobe on the source pads and emit the
drained signal ourselves. This then makes playbin2 emit the about-to-finish
signal for raw sources such as cdda://
Fixes #607116
2010-01-22 16:36:46 +01:00
Stefan Kost
8ebb6be803
typefind: include stdio.h for sscanf
2010-01-22 16:15:54 +02:00
Tim-Philipp Müller
2a84cf0941
typefinding: add PNM typefinder
...
Add PNM typefinder, so we can remove the one that's in the PNM plugin
in -bad (which btw uses different/wrong media types that don't match
the ones used by gdkpixbufdec) and people don't make fun of us for
loading image decoders when typefinding and playing back audio files.
2010-01-22 02:09:58 +00:00
Thijs Vermeir
48aa1959c8
ffmpegcolorspace: rename performance category
...
rename the performance category to ffmpegcolorspace_performance
as there is already a global GST_CAT_PERFORMANCE in core
2010-01-21 19:34:33 +01:00
David Schleef
e432c8ebc2
typefind: rewrite h.264 detection
...
Make detection simpler: check for NALs, check that they make
sense, and report how certain we are that it's a raw H.264 stream.
Fixes : #583376 .
2010-01-19 13:37:12 -08:00
Tim-Philipp Müller
b0fe1867d4
playsink: re-use iterator callback to avoid code duplication
2010-01-18 10:10:27 +00:00
Tim-Philipp Müller
7216605ffa
playsink: when looking for sink properties, make sure they have the right type
...
We don't want to end up setting values on elements where the property is of
a different type than we expect. Can't transform the value either, since we
can't really make assumptions about the scale and transform function.
Fixes crashes when using playbin2 with apexsink (#606949 ).
2010-01-18 10:10:27 +00:00
Sebastian Dröge
7335ce5d3e
playbin2: Only allow to set the URIs in states <= READY or from an about-to-finish signal handler
...
Changing the URIs in a state > READY results in unexpected behaviour,
i.e. the new URIs are only used after the current track has finished.
Fixes bug #607226 .
2010-01-18 09:32:42 +01:00
Mark Nauwelaerts
2482a536ac
decodebin2: sprinkle some more locking
...
... to avoid races and ensure some data structure consistency.
See also #574289 .
2010-01-16 18:48:00 +01:00
Mark Nauwelaerts
45447337ad
decodebin2: mind blocked pads when shutting down
...
Fix regression in shutdown deadlock handling now that the
target of a ghostpad is blocked instead of ghostpad itself.
See also #574293 .
2010-01-14 18:26:03 +01:00
Sebastian Dröge
3b842bc98b
playsink: Fix disabling of subtitles if subtitles were used before
...
In this case the video still goes through the text chain and
subtitles are still going in there, in case subtitles are
enabled again. This makes sure that re-enabling subtitles
happens instantly.
Fixes hanging video when disabling subtitles, caused by an
unliked video pad.
2010-01-14 13:36:23 +01:00
Mark Nauwelaerts
36fee21834
playbin2: fix pad ref leak
2010-01-14 10:46:28 +01:00
Wim Taymans
8d30d92740
typefind: mp4 video is not parsed
2010-01-13 17:36:05 +01:00
Thiago Santos
148d951fbc
typefind: Add aac stream-format to caps
...
Also add the aac stream-format field on the caps when
detecting it.
2010-01-13 12:49:20 -03:00
Brijesh Singh
0fe6b6e8ab
playsink: Fix handling of the native audio/video flags
...
Fixes bug #606687 .
2010-01-13 09:39:54 +01:00
Wim Taymans
22939b074c
Merge branch 'master' of ssh://git.freedesktop.org/git/gstreamer/gst-plugins-base
2010-01-05 10:38:41 +01:00
Mark Nauwelaerts
133e1cdb56
audiorate: correctly eat empty and dummy buffers
2009-12-26 19:20:18 +01:00
Wim Taymans
775636e734
adder: be a lot smarter with buffer management
...
Detect EOS faster.
Try to reuse one of the input buffer as the output buffer. This usually works
and avoids an allocation and a memcpy.
Be smarter with GAP buffers so that they don't get mixed or cleared at all. Also
try to use a GAP buffer as the output buffer when all input buffers are GAP
buffers.
2009-12-24 19:56:55 +01:00
Wim Taymans
59ace1b9ee
adder: use collectpads clipping function
...
Install a clipping function in the collectpads and use the audio clipping helper
function to perform clipping to the segment boundaries.
Fixes #590265
2009-12-24 16:30:23 +01:00
Wim Taymans
66ae01eced
adder: fix juvenile comment
2009-12-24 13:58:52 +01:00
Wim Taymans
15216d23ac
decodebin2: fix typo in debug message
2009-12-23 21:24:48 +01:00
Wim Taymans
99e836a340
decodebin2: avoid some type checks
2009-12-23 18:18:03 +01:00
Wim Taymans
3b0fc1e4fb
playbin2: avoid leaking selector request pads
2009-12-23 17:08:27 +01:00
Wim Taymans
d4e1ff012d
uridecodebin: avoid leaking queue and typefind
...
Don't leak the queue and typefind elements that we might link after the
source element.
2009-12-23 15:46:25 +01:00
Jonathan Matthew
138c851173
uridecodebin: don't name the queue
...
There is no reason to name the queue.
Fixes #605219
2009-12-23 15:43:52 +01:00
Mark Nauwelaerts
93f82f16cd
audiorate: add Since marker for the new tolerance property
2009-12-21 18:50:34 +01:00
Wim Taymans
8266d201a0
decodebin2: add some debugging
2009-12-16 11:44:11 +01:00
Mark Nauwelaerts
8b4f6dd43b
audiorate: add a tolerance property
...
It may not be uncommon for the input timestamps to experience some jitter
around the 'perfect time'. As such, instead of regularly adding and dropping
samples, optionally allow for some tolerance in a more relaxed approach.
API: GstAudioRate:tolerance
2009-12-15 19:51:08 +01:00
Mark Nauwelaerts
b5fe63ed79
audiorate: add documentation
2009-12-15 19:50:56 +01:00
Mark Nauwelaerts
60635a9fbc
audiorate: use separate header file
2009-12-15 19:49:31 +01:00
Mark Nauwelaerts
4bbde64da6
audiorate: set DISCONT when resyncing (e.g. newsegment)
2009-12-15 19:49:28 +01:00
Mark Nauwelaerts
56d4534554
audiorate: also fill up segments if possible
2009-12-15 19:49:26 +01:00
Mark Nauwelaerts
a11a1858ed
audiorate: fix segment handling
...
Do not compare a media (buffer) time to a (bogus) running time
(or their offset equivalents).
2009-12-15 19:49:24 +01:00
Mark Nauwelaerts
529db8b501
audiorate: properly report truncated samples as dropped samples
2009-12-15 19:49:22 +01:00
Wim Taymans
dc91454984
tcpclientsrc: unset flushing state too
...
When unlocking, we set the flushing state on the fdset. Implement unlock_stop so
that we can use it to unset the flushing state again.
Fixes #577326
2009-12-10 17:53:01 +01:00
Wim Taymans
26071d748f
playsink: fix video when subtitles disabled
...
When we have a source with subtitles but they were disabled with the flags,
still ghostpad the video pad instead of leaving it unlinked.
2009-12-09 12:11:55 +01:00
Sebastian Dröge
7bf631e448
playbin2: Fix stream-changed message list iteration
...
When iterating the list and removing the current element, first
get the next element and then remove the current one and not
the other way around.
2009-12-08 13:41:28 +01:00
Sebastian Dröge
49fd39c3fd
playsink: Some minor cleanup
2009-12-07 09:13:40 +01:00
Sebastian Dröge
930a57db20
playbin2: Reset stream segments on FLUSH_STOP and don't adjust QoS events for non-time segments
2009-12-06 18:06:05 +01:00
Stefan Kost
e6e9e3c589
build: fix build with debug logging disabled.
2009-12-03 23:38:54 +02:00
Stefan Kost
a6cf29fd3d
playbin2: don't iterate the factory lists in non-debug mode
...
When debugging is disabled, we won't see anything printed anyway.
2009-12-03 18:08:49 +02:00
David Schleef
ab0c93976d
Build fix for MSVC
2009-12-03 00:20:34 -08:00
Stefan Kost
70649da6ce
build: add missing includes for sprintf and atoi
2009-12-02 23:27:55 +02:00
Thiago Santos
1acdf3eb78
subparse: Add support for some tags of qttext
...
Currently supporting timescale, timestamps, font, size,
textColor, backColor, plain, bold and italic
Fixes #603357
2009-12-01 17:56:59 -03:00
Thiago Santos
cdcc28c833
subparse: add qttext support
...
Adds basic support for qttext subtitles, still lacks markup tags
to make it prettier, but the plain text already works.
Implemented according to:
http://www.apple.com/quicktime/tutorials/texttracks.html
http://www.apple.com/quicktime/tutorials/textdescriptors.html
Fixes #603357
2009-12-01 14:06:27 -03:00