Wim Taymans
55076379b2
vorbisenc: chain up to parent event function
2012-02-27 12:51:08 +01:00
Alessandro Decina
9f1732fba7
Fix compiler warnings
2012-02-26 20:36:46 +01:00
Alessandro Decina
5db562f13b
theoraenc: fix compiler warning
2012-02-26 20:32:05 +01:00
Wim Taymans
a7c80a9c87
vorbisdec: remove old code
2012-02-15 13:32:05 +01:00
Wim Taymans
bf476953f4
vorbis: port to new memory api
2012-02-13 18:12:01 +01:00
Wim Taymans
c3478b2da0
Merge branch 'master' into 0.11
...
Conflicts:
ext/vorbis/gstvorbisparse.c
gst-libs/gst/video/video.c
gst/videoscale/gstvideoscale.c
sys/v4l/gstv4lxoverlay.c
sys/v4l/v4l_calls.c
sys/v4l/v4lsrc_calls.c
tests/check/libs/video.c
2012-02-10 15:41:06 +01:00
Wim Taymans
a75e9102c5
GST_FLOW_WRONG_STATE -> GST_FLOW_FLUSHING
2012-02-08 15:17:49 +01:00
Tim-Philipp Müller
99bff2329e
theoraenc: remove obsolete properties
...
https://bugzilla.gnome.org/show_bug.cgi?id=669328
2012-02-05 11:00:39 +00:00
David Schleef
19141759c1
theoraenc: Use GAP flag when possible
...
Set TH_ENCCTL_SET_DUPLICATE_FLAG when we see a gap flag, to
indicate to the encoder that the current frame is a duplicate
of the previous frame.
2012-02-04 13:41:47 -08:00
Vincent Penquerc'h
b4d6263f38
oggdemux: fix granpos interpolation violating max keyframe distance
...
In case many packets fit on a page, we may not see a granpos for
a while, and granpos interpolation can wrap the 'frames since last
keyframe' part of the granpos, generating a granpos which is smaller
than what it should be.
This is fixed by detecting keyframe packets (at least for Theora),
and updating the last keyframe granpos from this.
This may still be generating potentially wrong granpos for streams
which have a Theora like granpos (keyframes, a max keyframe distance
and a count of frames since last keyframe), and which allow implicit
granules on packets. For these streams, a custom keyframe detection
routine should be plugged into their GstOggStream mapper.
https://bugzilla.gnome.org/show_bug.cgi?id=669164
2012-02-02 13:06:29 +00:00
Vincent Penquerc'h
b647c627e4
vorbisparse: pedantically recognize undefined headers too
2012-02-01 16:46:13 +00:00
Vincent Penquerc'h
809546c324
vorbisparse: fix header detection
...
It was matching non header packets.
This fixes various leaks, where buffers would be pushed onto a headers
list, but never popped.
Might also fix corruption as those buffers were dropped from the output
silently...
https://bugzilla.gnome.org/show_bug.cgi?id=669167
2012-02-01 16:40:35 +00:00
Sebastian Dröge
2fe94cad44
vorbis: Use new audio encoder/decoder base class API for srcpad caps
2012-02-01 16:27:47 +01:00
Wim Taymans
848e107146
oggdemux: don't blindly forward all unknown events
...
It causes the caps event to be send downstream and cause negotiation failures.
2012-01-30 20:58:34 +01:00
Wim Taymans
be0cadac03
update for HEADER flag changes
2012-01-30 17:16:17 +01:00
Sebastian Dröge
ba6d096d01
vorbisenc: Properly generate the channel-mask on the sinkpad caps
2012-01-27 17:10:35 +01:00
Sebastian Dröge
76b7ff8f99
vorbisparse: Pass correct header buffer size to libvorbis and include channels/rate in the srcpad caps
2012-01-27 12:08:33 +01:00
Wim Taymans
61a53092e4
alsa: merge instead of appending structures
2012-01-26 14:28:06 +01:00
Sebastian Dröge
2e65a0f34a
theoraenc: Add width/height/framerate to the srcpad caps
2012-01-26 11:02:51 +01:00
Sebastian Dröge
1f37f9f41d
vorbisenc: Add samplerate and channels to the srcpad caps
2012-01-26 11:01:12 +01:00
Sebastian Dröge
b363d4a103
theoraenc: Fix encoding of non-mod-16 widths/heights
...
The next higher multiple of 16 has to be passed
in the input buffers but Theora does never read
beyond the configured picture size.
2012-01-25 18:24:07 +01:00
Sebastian Dröge
544b7a35b0
theoraparse: Remove the synchronization points property
...
Is someone really using it? In that case it has to be
changed from a GValueArray property to something else.
2012-01-25 16:44:38 +01:00
Wim Taymans
fcdc385aa1
port to new map API
2012-01-25 12:30:53 +01:00
Sebastian Dröge
68c0790817
Merge branch 'master' into 0.11
...
Conflicts:
gst-libs/gst/interfaces/propertyprobe.c
sys/xvimage/xvimagesink.c
2012-01-25 11:50:54 +01:00
Tim-Philipp Müller
5487cb98ef
Replace deprecated GStaticMutex with GMutex
2012-01-22 22:52:28 +00:00
Wim Taymans
3d42f0f6ed
port to new glib thread API
2012-01-19 11:36:17 +01:00
Tim-Philipp Müller
576bbb4fd8
Remove compatibility code cruft for old GLib versions
2012-01-18 17:22:21 +00:00
Tim-Philipp Müller
fa0464cd7a
pango: port to new GLib threading API
2012-01-18 17:21:02 +00:00
Sebastian Dröge
317894d314
gio: Move to gst subdirectory
...
It's a plugin without external dependencies now because we
unconditionally depend on GIO anyway.
2012-01-18 16:21:14 +01:00
Mark Nauwelaerts
34d767c6a8
oggstream: initialize variable
...
... to help out challenged compiler.
2012-01-17 18:19:30 +01:00
Vincent Penquerc'h
8d29fe8834
alsasink: fix high sample rates being rejected
...
An ALSA sink may select a different rate (as we use the _set_rate_near
API, which is not guaranteed to set the exact target rate).
The rest of the code seems to already handle this well, as output
from a 88200 Hz file seems to have the correct pitch when selecting
a 96 kHz rate.
2012-01-16 11:46:05 +00:00
Vincent Penquerc'h
361f2b169c
alsasink: fix rate match message mistaking error code for sample rate
2012-01-16 11:46:05 +00:00
Vincent Penquerc'h
e60027c795
alsasink: log API errors along with the error code and string
2012-01-16 11:46:05 +00:00
Reynaldo H. Verdejo Pinochet
87bb5dddb2
Fix wrong access to undefined struct member
...
For the USE_TREMOLO case, GstVorbisDec doesn't have
a vb member. Besides, Tremolo's vorbis_dsp_synthesis()
expects a vorbis_dsp_state to be passed as first
argument. Not a vorbis_block.
2012-01-13 14:50:49 -03:00
Reynaldo H. Verdejo Pinochet
22e6c28284
Fix TREMELO -> TREMOLO typo
2012-01-13 14:47:13 -03:00
Tim-Philipp Müller
0461ed2ada
Merge remote-tracking branch 'origin/master' into 0.11
...
Conflicts:
gst-libs/gst/pbutils/gstdiscoverer-types.c
gst-libs/gst/pbutils/gstdiscoverer.c
tests/check/Makefile.am
2012-01-12 23:21:17 +00:00
Vincent Penquerc'h
3fbd95d85e
theoraparse: fix array leak
2012-01-12 16:24:01 +00:00
Vincent Penquerc'h
9f4b71b2a7
oggdemux: fix push mode chain leak
...
When I first implemented push mode seeking, I removed the chain
freeing there as it could be used later. The current code does not
seem to do that though, so I'm restoring the previous freeing,
which plugs the leak while apparently not reintroducing use of
freed data with chained and normal files, both with gst-launch
playbin2 and Totem.
2012-01-11 16:17:42 +00:00
Vincent Penquerc'h
83c9396850
Revert "oggmux: fix pad leak"
...
This reverts commit 5df30c1b90
.
I must have dreamt the Valgrind logs, reverting this reintroduces
no leak, and gets rid of the test failures it introduced :S
2012-01-10 19:02:31 +00:00
Vincent Penquerc'h
35df9d2ad9
oggstream: fix tag list leak
2012-01-10 16:57:04 +00:00
Vincent Penquerc'h
a718b859a7
oggdemux: fix pad leak
2012-01-10 16:51:09 +00:00
Vincent Penquerc'h
ef1469fc8b
oggdemux: fix hang on small truncated files
...
A first hang was happening when trying to locate a page backwards,
where we'd sync forever on the same page.
With that fixed, a second hang would happen after preparing an EOS
event, but with no chain created yet to send it to, the pipeline
would stay idle forever.
An element error is now emitted for this case.
2012-01-10 16:20:23 +00:00
Vincent Penquerc'h
5df30c1b90
oggmux: fix pad leak
2012-01-10 16:20:23 +00:00
Sebastian Dröge
dc8984d76c
Merge branch 'master' into 0.11
...
Conflicts:
gst-libs/gst/app/gstappsrc.c
gst-libs/gst/audio/multichannel.h
gst-libs/gst/video/videooverlay.c
gst/playback/gstplaysink.c
gst/playback/gststreamsynchronizer.c
tests/check/Makefile.am
win32/common/libgstvideo.def
2012-01-10 13:15:12 +01:00
Mark Nauwelaerts
08a6621b2d
vorbisdec: use right channel variable even more
2012-01-06 16:15:45 +01:00
Wim Taymans
f8ae2a0d5b
vorbisdec: use right channel variable
2012-01-05 12:32:06 +01:00
Idar Tollefsen
580b6b2b69
pango: changes includes from brackets to quotes for local files
...
https://bugzilla.gnome.org/show_bug.cgi?id=667316
2012-01-05 10:52:14 +00:00
Sebastian Dröge
40938b8a89
ogg: Update for the libgstriff API changes
...
Still needs to handle the raw audio channel reordering.
2012-01-05 10:34:25 +01:00
Sebastian Dröge
75f91ebea0
ext: Add new layout field to the raw audio caps
2012-01-05 10:34:25 +01:00
Sebastian Dröge
9c60505900
vorbis: Port to the new multichannel caps
2012-01-05 10:34:24 +01:00
Sebastian Dröge
2fc75efdce
alsa: Port to the new multichannel caps
2012-01-05 10:34:20 +01:00
Edward Hervey
f562a29284
Merge remote-tracking branch 'origin/master' into 0.11
...
Conflicts:
ext/theora/gsttheoraenc.c
gst-libs/gst/tag/gstexiftag.c
gst/adder/gstadder.c
gst/adder/gstadder.h
gst/playback/gstdecodebin2.c
gst/playback/gstsubtitleoverlay.c
tests/check/libs/tag.c
2011-12-30 13:21:35 +01:00
Thiago Santos
08022bddc8
oggmux: fix leak when initializing pads
...
Pads are initialized twice: when requesting pads and when
initializing collectpads. Avoid double initialization by
checking if collectpads are still going to be initialized when
creating request pads.
2011-12-28 09:45:53 -03:00
Tim-Philipp Müller
3dfdd6be9d
audioringbuffer: rename GST_BUFTYPE_* to GST_AUDIO_RING_BUFFER_FORMAT_TYPE_*
...
Bit unwieldy, but more appropriate. Could also be moved into
audio.h as GstAudioFormatType.
2011-12-25 21:38:21 +00:00
Tim-Philipp Müller
4fc4aeee71
theoraenc: fix template caps creation on big endian systems
2011-12-23 22:51:59 +00:00
Wim Taymans
6aafcb3992
theoradec: improve cropping
...
Only add cropping metadata when needed
Remove some used code.
2011-12-23 16:10:53 +01:00
Tim-Philipp Müller
cab6432c68
alsasink: make work for raw audio formats by fixing template caps
2011-12-23 00:54:43 +00:00
Wim Taymans
dde5e5a248
alsa: remove more property probe stuff
2011-12-22 16:37:29 +01:00
Wim Taymans
ddc05e0ed1
propertyprobe: remove propertyprobe
...
Remove the propertyprobe interface
Improve docs
2011-12-21 11:58:53 +01:00
Oleksij Rempel (Alexey Fisher)
5f3a31f4d1
theoraenc: add "dup-on-gap" option
...
This option will produce duplicate frames if we get
a frame with GAP flag. This will reduce CPU load and file size.
This option should be disabled for real time applications, because it
collects GAP frames and waits until it gets a non GAP frame to start
encoding.
v30.06.2011: make some spell changes.
v03.07.2011: add handling of EOS and discontinuous for dup-on-gap.
v19.12.2011: fix pointer dangling in theora_timefifo_free
v20.12.2010: fix timestamp bug for dup-on-gap=0
Bugzilla: https://bugzilla.gnome.org/show_bug.cgi?id=627459
Signed-off-by: Oleksij Rempel (Alexey Fisher) <bug-track@fisher-privat.net>
2011-12-20 19:43:47 +00:00
Vincent Penquerc'h
229377fb6b
oggdemux: assume live stream if byte size cannot be determined
...
This prevents trying to seek and failing, then ending up unable
to stream because we can't get back at the headers.
A more robust way would be to find a good place to reinject the
headers when a seek fails, but I can't seem to get this to work.
2011-12-16 15:29:21 +00:00
Tim-Philipp Müller
fb6d09055a
Merge remote-tracking branch 'origin/master' into 0.11
...
Conflicts:
ext/alsa/gstalsadeviceprobe.c
ext/alsa/gstalsamixer.c
ext/pango/gsttextoverlay.c
ext/pango/gsttextoverlay.h
gst-libs/gst/audio/gstaudiobasesink.c
gst-libs/gst/audio/gstaudioringbuffer.c
gst-libs/gst/audio/gstaudiosrc.c
gst-libs/gst/video/Makefile.am
gst-libs/gst/video/video.c
gst/encoding/gststreamcombiner.c
gst/encoding/gststreamsplitter.c
gst/playback/gstplaybasebin.c
gst/playback/gststreamsynchronizer.c
gst/playback/gstsubtitleoverlay.c
gst/playback/gsturidecodebin.c
sys/xvimage/xvimagesink.c
tests/examples/Makefile.am
win32/common/libgstvideo.def
Video overlay composition disabled for now, needs
porting to buffer meta.
2011-12-08 01:19:03 +00:00
Thibault Saunier
785e006de9
textoverlay: unpremultiply text image
...
The GstVideoOverlayComposition only supports unpremultiplied ARGB
(for now anyway, support for pre-multiplied alpha is planned.)
2011-12-05 15:37:04 +00:00
Thibault Saunier
cbcf1e0b46
textoverlay: Attach OverlayComposition to buffers when needed
...
Add video/x-surface support in the caps
We should then attach it whenever the sink supports it, but this
is working for the time being
2011-12-05 15:37:04 +00:00
Thibault Saunier
2a687b6dfb
textoverlay: Make the text_image data a buffer
...
This way we won't free data that would be attached to some buffer.
2011-12-05 15:37:03 +00:00
Thibault Saunier
a741c0cf11
textoverlay: Sync the caps with the new supported formats
...
Thanks to the use of the new video composition library, we gain support to
more colospaces and formats, let's state it.
2011-12-05 15:37:03 +00:00
Thibault Saunier
a018c187a0
textoverlay: Make use of the new video blending utility
2011-12-05 15:37:03 +00:00
Tim-Philipp Müller
5440ae3c18
Suppress deprecation warnings in selected files, for g_static_rec_mutex_* mostly
...
GStaticRecMutex is part of our API/ABI, not much we can do here
in 0.10 for most of these.
2011-12-04 20:50:25 +00:00
Tim-Philipp Müller
4828234639
alsamixer: use GRectMutext instead of GStaticRecMutex with newer glib versions
2011-12-04 20:38:19 +00:00
Tim-Philipp Müller
9c307bccc5
alsamixer: embed static mutexes into the mixer structure
...
instead of allocating them dynamically
2011-12-04 20:21:26 +00:00
Tim-Philipp Müller
0d98aa25b8
Work around deprecated thread API in glib master
...
Add private replacements for deprecated functions such as
g_mutex_new(), g_mutex_free(), g_cond_new() etc., mostly
to avoid the deprecation warnings. We'll change these
over to the new API once we depend on glib >= 2.32.
Replace g_thread_create() with g_thread_try_new().
2011-12-04 17:16:30 +00:00
Wim Taymans
1225aa9a78
update for basesink event handler changes
2011-12-02 22:24:43 +01:00
Tim-Philipp Müller
177525f89f
Merge remote-tracking branch 'origin/master' into 0.11
...
Conflicts:
gst-libs/gst/netbuffer/gstnetbuffer.c
gst/ffmpegcolorspace/avcodec.h
gst/ffmpegcolorspace/gstffmpegcodecmap.c
gst/ffmpegcolorspace/imgconvert.c
gst/ffmpegcolorspace/imgconvert_template.h
gst/ffmpegcolorspace/mem.c
gst/playback/README
gst/playback/gstplaybasebin.c
gst/playback/gstplaybasebin.h
gst/playback/gstplaybin.c
sys/v4l/v4lmjpegsrc_calls.c
sys/v4l/videodev_mjpeg.h
tests/check/elements/gnomevfssink.c
2011-12-02 11:10:17 +00:00
Piotr Fusik
14644457b0
various: typo fixes
...
Fix typos in code and docs. Fixes. #658984
2011-12-02 12:03:27 +01:00
Tim-Philipp Müller
ec0d3566bf
Merge remote-tracking branch 'origin/master' into 0.11
...
Conflicts:
ext/alsa/gstalsasrc.c
ext/alsa/gstalsasrc.h
gst/adder/gstadder.c
gst/playback/gstplaybin2.c
gst/playback/gstplaysinkconvertbin.c
win32/common/libgstvideo.def
2011-12-02 00:07:39 +00:00
Tim-Philipp Müller
e88e47cd24
Revert "alsasrc: Improve timestamp accuracy"
...
This reverts commit 0b774e0b7c
.
2011-11-30 23:15:35 +00:00
Tim-Philipp Müller
e5ae553850
Revert "alsasrc: Fix some compilation errors"
...
This reverts commit 2b84f5bd74
.
2011-11-30 23:15:22 +00:00
Tim-Philipp Müller
4cc8920db4
Revert "alsa: Remove unused but set variable"
...
This reverts commit e9aed7f31c
.
2011-11-30 23:15:12 +00:00
Tim-Philipp Müller
1290f7de0e
Revert "alsasrc: fail gracefully when ALSA does not give timestamps"
...
This reverts commit c7282a5718
.
2011-11-30 23:15:03 +00:00
Tim-Philipp Müller
d11849114c
Revert "alsasrc: handle the case where the drivers don't supply timestamps"
...
This reverts commit 8154b69112
.
2011-11-30 23:14:54 +00:00
Stefan Sauer
6d167abdfa
Revert "alsasrc: style fix"
...
This reverts commit f70ca6d4cb
.
2011-11-30 23:14:44 +00:00
Wim Taymans
47cbb230e9
audio: move audio interfaces
...
Move the audio related interfaces to the audio library.
2011-11-30 07:57:02 +01:00
Alessandro Decina
ab921eec11
oggdemux: fix compiler warning
2011-11-29 09:16:20 +01:00
Tim-Philipp Müller
0c056a04fe
Merge commit '4a58223e4c824fedc024af435337a769e8ce593e' into 0.11
2011-11-28 21:20:10 +00:00
Vincent Penquerc'h
c554463025
Revert "theoradec: move the QoS logic to libgstvideo"
...
This reverts commit 149a4ce390
.
*grumble* I managed to merge something I did not mean to.
2011-11-28 13:27:29 +00:00
Vincent Penquerc'h
96374054ac
various: fix pad template leaks
...
https://bugzilla.gnome.org/show_bug.cgi?id=662664
2011-11-28 13:09:02 +00:00
Vincent Penquerc'h
149a4ce390
theoradec: move the QoS logic to libgstvideo
...
https://bugzilla.gnome.org/show_bug.cgi?id=658241
2011-11-28 12:34:43 +00:00
Stefan Sauer
f70ca6d4cb
alsasrc: style fix
...
Use timestamp==0 instead of mixing it with !timestamp style checks.
2011-11-28 10:55:39 +01:00
Stefan Sauer
8154b69112
alsasrc: handle the case where the drivers don't supply timestamps
...
If highres-timestamp is 0, try lowres and if that fails fallback to system clock
timestamps.
2011-11-28 09:13:29 +01:00
Tim-Philipp Müller
32b14c6ed3
Merge remote-tracking branch 'origin/master' into 0.11
...
Conflicts:
ext/vorbis/gstvorbisenc.c
gst/playback/gstdecodebin2.c
gst/playback/gstplaysinkconvertbin.c
gst/videorate/gstvideorate.c
2011-11-26 12:12:59 +00:00
Vincent Penquerc'h
c6b9145630
oggmux: set collectpads2 not to wait on sparse streams
...
https://bugzilla.gnome.org/show_bug.cgi?id=663174
2011-11-25 16:11:01 +00:00
Tim-Philipp Müller
a0639dad38
audio: remove unstable API guards from the audio decoder and encoder base classes
2011-11-25 13:11:54 +00:00
Vincent Penquerc'h
a5c64d5b97
oggdemux: minor cleanup
2011-11-24 17:12:56 +00:00
Vincent Penquerc'h
b0bb1d3539
oggdemux: skip the second bisection when possible
...
If we already saw the keyframes that we need to find,
we do not need to bisect to find them.
This will always be the case for streams with audio only,
where each frame acts as a keyframe, but will occasionally
also happen for streams with video.
https://bugzilla.gnome.org/show_bug.cgi?id=662475
2011-11-24 10:48:48 +01:00
Vincent Penquerc'h
e7079cd8d5
oggdemux: improve push time seeking
...
Various tweaks to improve convergence, in particular for
the worst case, which is now cut in about half.
https://bugzilla.gnome.org/show_bug.cgi?id=662475
2011-11-24 10:48:32 +01:00
Vincent Penquerc'h
db21375406
oggdemux: gather some more stats about bisection
...
https://bugzilla.gnome.org/show_bug.cgi?id=662475
2011-11-24 10:48:15 +01:00
Vincent Penquerc'h
dbd694c7c4
vorbisenc: do not accept 256 channels, 255 is the max vorbis supports
2011-11-23 16:09:13 +00:00
Wim Taymans
17f6254ab4
ogg: fix compilation
2011-11-23 11:10:31 +01:00
Wim Taymans
7b45a7367b
Merge branch 'master' into 0.11
...
Conflicts:
ext/ogg/gstoggmux.c
2011-11-23 10:50:53 +01:00
Vincent Penquerc'h
042b4f9a29
oggstream: extract opus comments if available
2011-11-22 13:29:10 +00:00
Vincent Penquerc'h
bf73491077
oggstream: recognize opus headers from data, not packet count
...
Opus streams outside of Ogg may not have headers, and oggstream
may be used by oggmux to mux an Opus stream which does not come
from Ogg - thus without headers.
Determining headerness by packet count would strip the first two
packets from such an Opus stream, leading to a very small amount
of audio being clipped at the beginning of the stream.
2011-11-22 13:15:33 +00:00
Vincent Penquerc'h
9d4989395c
oggdemux: add some more debug info when determining start time
2011-11-22 13:01:35 +00:00
Vincent Penquerc'h
2a87d7c8ce
oggstream: fix opus duration calculation
2011-11-22 12:55:56 +00:00
Vincent Penquerc'h
ceee36195a
oggstream: early out on headers when determining packet duration
2011-11-22 12:00:58 +00:00
Vincent Penquerc'h
e05f1df04b
oggstream: account for opus pre-skip in granpos/time mapping
2011-11-22 11:59:54 +00:00
Tim-Philipp Müller
e8fb8cb523
Fix some more printf format warnings
2011-11-22 01:21:04 +00:00
Wim Taymans
8fc2a21775
update for activation changes
2011-11-21 13:35:34 +01:00
Vincent Penquerc'h
9d2a2750c2
ogg: add opus support
2011-11-19 16:06:09 +00:00
Wim Taymans
d0bd5f04c0
update for new scheduling query
2011-11-18 17:58:58 +01:00
Wim Taymans
1ad4d20607
add parent to activate functions
2011-11-18 13:56:04 +01:00
Wim Taymans
7afdff3575
Merge branch 'master' into 0.11
...
Conflicts:
gst-libs/gst/audio/gstaudiodecoder.c
2011-11-17 17:07:41 +01:00
Wim Taymans
e302833e65
add parent to pad functions
2011-11-17 12:48:25 +01:00
Mark Nauwelaerts
80658564ae
vorbisenc: reset tag setter interface when appropriate
2011-11-16 19:03:49 +01:00
Wim Taymans
2202511e77
add parent to query function
2011-11-16 17:25:17 +01:00
Wim Taymans
94ac7e858f
visual: update for renamed flags
...
Use the _check_reconfigure method instead of checking flags.
Don't need to ref the parent anymore, core does that.
2011-11-16 12:40:26 +01:00
Wim Taymans
026ec68f75
_peer_get_caps() -> _peer_query_caps()
2011-11-15 18:04:17 +01:00
Wim Taymans
7402d3a3d2
update for _get_caps() -> _query_caps()
2011-11-15 18:04:17 +01:00
Wim Taymans
ab9ffa93f5
change getcaps to query
...
Add sink and src event functions in rtpbasepayload
Add query vmethod to rtpbasepayload.
2011-11-15 18:04:16 +01:00
Tim-Philipp Müller
c76e5804b3
Update for GstURIHandler get_protocols() changes
2011-11-13 23:44:23 +00:00
Tim-Philipp Müller
455f337e3d
gio, appsrc, appsink, cdaudiosrc: update for GstURIHandler API changes
2011-11-13 18:22:06 +00:00
Tim-Philipp Müller
83a1e31786
cdparanoia: update for GstCddaBaseSrc -> GstAudioCdSrc renaming
2011-11-12 11:58:58 +00:00
Wim Taymans
ee7072fe7e
rename GstBaseAudio* ->GstAudioBase*
2011-11-11 11:52:47 +01:00
Wim Taymans
6511f36fdb
audio: GstRingBuffer -> GstAudioRingBuffer
2011-11-11 11:21:41 +01:00
Wim Taymans
e338792ab0
update for adapter api changes
2011-11-10 18:32:39 +01:00
Wim Taymans
3254e79f04
alsa: fix negotiation
...
Don't assume the format is a string because now it is a list of string in the
template.
Chain up to the parent class implementation of get_caps.
2011-11-10 16:05:19 +01:00
Vincent Penquerc'h
e02a164a36
vorbisenc: fix getcaps ignoring filter caps
2011-11-10 14:38:09 +00:00
Vincent Penquerc'h
67f6f64d88
oggdemux: do not try to write empty header buffers
...
Those are valid, and the EOS skeleton packet is actually empty.
2011-11-10 14:38:09 +00:00
Vincent Penquerc'h
77230f0106
oggmux: split request pad templates into audio/video/subtitle
...
https://bugzilla.gnome.org/show_bug.cgi?id=663766
2011-11-10 14:38:09 +00:00
Wim Taymans
671131a83a
update for removed fixate functions
2011-11-10 11:02:12 +01:00
Wim Taymans
372b9329b9
remove query types
2011-11-09 11:47:54 +01:00
Vincent Penquerc'h
51426a3b2d
textoverlay: continue processing text when silent
...
This prevents playback wegding when text buffers are
left to pile up.
https://bugzilla.gnome.org/show_bug.cgi?id=662829
2011-11-08 12:02:49 +00:00
Tim-Philipp Müller
d7fc45f42e
docs: fix up some Since: markers
2011-11-07 23:05:44 +00:00
Wim Taymans
8c8fcf4d3b
Merge branch 'master' into 0.11
2011-11-07 17:18:06 +01:00
Vincent Penquerc'h
5d3852d91a
theoraenc: fix speed level failure test
...
It was testing the opposite of what it thought it was.
https://bugzilla.gnome.org/show_bug.cgi?id=663390
2011-11-07 12:27:16 +00:00
Vincent Penquerc'h
a81cb3ef7f
theoraenc: make logically static const data just so
...
https://bugzilla.gnome.org/show_bug.cgi?id=663391
2011-11-07 12:27:15 +00:00
Vincent Penquerc'h
c1aab3e0a7
theoraenc: use th_packet_iskeyframe instead of peeking at bits
...
https://bugzilla.gnome.org/show_bug.cgi?id=663391
2011-11-07 12:27:14 +00:00
Vincent Penquerc'h
ffbe58fd5a
theoraenc: trivial comment typos fixes
...
https://bugzilla.gnome.org/show_bug.cgi?id=663391
2011-11-07 12:27:13 +00:00
Vincent Penquerc'h
0c4ccb4f9c
theoraenc: warn when trying to set an ignored obsolete property
...
https://bugzilla.gnome.org/show_bug.cgi?id=663391
2011-11-07 12:27:12 +00:00
Vincent Penquerc'h
10811d63f9
theoraenc: refuse to get to READY if the encoder was disabled
...
https://bugzilla.gnome.org/show_bug.cgi?id=663391
2011-11-07 12:27:11 +00:00
Vincent Penquerc'h
353153d079
oggdemux: survive skeleton finding length behind our backs in push mode
...
In push mode, we determine duration by doing a seek to the end of the
stream. However, a skeleton stream with an index will cause the duration
to be known already, and we end up never setting the push_time_duration
variable which we use to know duration has been determined.
https://bugzilla.gnome.org/show_bug.cgi?id=662049
2011-11-07 12:20:16 +00:00
Wim Taymans
7ac25e9b26
Merge branch 'master' into 0.11
...
Conflicts:
common
configure.ac
gst-libs/gst/audio/gstbaseaudiosink.c
gst/playback/gstdecodebin2.c
gst/playback/gstplaysinkaudioconvert.c
gst/playback/gstplaysinkaudioconvert.h
gst/playback/gstplaysinkvideoconvert.c
gst/playback/gstplaysinkvideoconvert.h
2011-11-07 12:23:15 +01:00
Stefan Sauer
0019bcaa47
controller: port to new location and api changes
2011-11-04 20:14:54 +01:00
Wim Taymans
75fea4f535
oggdemux: fix somtimes pad
2011-11-04 12:53:33 +01:00
Wim Taymans
cf8481b990
fix pad template names for request pads
2011-11-04 10:49:48 +01:00
Sebastian Dröge
41dc3033d4
oggmux: Remove obsolete #include
2011-11-03 09:27:56 +01:00
Wim Taymans
a5fa136c0b
update for tag API removal
2011-11-02 12:11:16 +01:00
Wim Taymans
e067e67923
rename meta* -> *meta
2011-11-02 09:04:27 +01:00
Wim Taymans
7cd83031a1
alsa: update for new task api
2011-11-02 09:04:27 +01:00
Tim-Philipp Müller
5ee51e47a1
ext, gst, gst-libs, tests: update for tag list API changes
2011-10-31 14:22:39 +00:00
Wim Taymans
4f9dea137f
Merge branch 'master' into 0.11
2011-10-28 11:34:37 +02:00
Thiago Santos
136f5b2690
oggmux: port to gstcollectpads2
2011-10-28 10:06:16 +02:00
Wim Taymans
06311362e9
fix compilation
2011-10-27 17:26:58 +02:00
Wim Taymans
016d036137
Merge branch 'master' into 0.11
...
Conflicts:
configure.ac
gst-libs/gst/audio/gstbaseaudiosink.c
gst/audioconvert/channelmixtest.c
gst/playback/gstplaybasebin.c
gst/playback/gstsubtitleoverlay.c
tests/examples/Makefile.am
tests/examples/audio/Makefile.am
2011-10-27 15:44:58 +02:00
René Stadler
133a0b1771
oggdemux: remove avoidable call to gst_object_set_name
2011-10-21 22:24:14 +02:00
Stefan Sauer
53d7d2e966
interfaces: clean up the use of iface and class/klass
2011-10-21 14:46:48 +02:00
Vincent Penquerc'h
1f900dc20d
vorbisdec: do not try to read past the buffer array
...
https://bugzilla.gnome.org/show_bug.cgi?id=662108
2011-10-19 16:45:06 +02:00
Mark Nauwelaerts
43928e33e6
vorbisdec: only finish header packet frame if received in-stream
...
... rather than scaring audiodecoder with a frame extracted from caps.
Fixes #662108 (partially).
2011-10-19 16:44:44 +02:00
Vincent Penquerc'h
26e1c2d628
oggdemux: do not retry seeking indefinitely
...
https://bugzilla.gnome.org/show_bug.cgi?id=661897
2011-10-17 10:51:19 +01:00
Wim Taymans
05ad8a3432
Merge branch 'master' into 0.11
...
Conflicts:
ext/vorbis/gstvorbisenc.c
2011-10-10 11:45:49 +02:00
Wim Taymans
f1088ed647
update for UNEXPECTED -> EOS flowreturn
2011-10-10 11:39:52 +02:00
Mark Nauwelaerts
a7f508012c
vorbisenc: only push header buffers following initial events
2011-10-09 21:20:35 +02:00
Wim Taymans
889a7e89c9
vorbisdec: report to 0.11
2011-10-08 11:05:29 +02:00
Wim Taymans
73b894107a
Merge branch 'master' into 0.11
...
Conflicts:
ext/vorbis/gstvorbisdec.c
ext/vorbis/gstvorbisenc.c
ext/vorbis/gstvorbisenc.h
gst/audiotestsrc/gstaudiotestsrc.c
2011-10-08 10:19:06 +02:00
Mark Nauwelaerts
f63f09483f
vorbisdec: port to audiodecoder
2011-10-07 14:52:53 +02:00
Mark Nauwelaerts
f3cb93fc0c
vorbisenc: port to audioencoder
2011-10-07 14:52:46 +02:00
René Stadler
1d3980cda2
oggdemux: don't leak scheduling query
2011-10-07 14:06:57 +02:00
Wim Taymans
a00927ad03
Merge branch 'master' into 0.11
2011-10-04 17:58:49 +02:00
Vincent Penquerc'h
c7282a5718
alsasrc: fail gracefully when ALSA does not give timestamps
...
https://bugzilla.gnome.org/show_bug.cgi?id=660170
2011-10-03 11:14:09 +02:00
Vincent Penquerc'h
15dc839467
textoverlay: add YV12 support
...
Basically the same as I420, just with chroma planes swapped.
https://bugzilla.gnome.org/show_bug.cgi?id=660604
2011-10-01 19:18:02 +01:00
Tim-Philipp Müller
500ad37657
vorbisdec: set channel positions
2011-09-29 21:50:59 +01:00
Edward Hervey
17bfba09f1
Merge branch 'master' into 0.11
...
Conflicts:
ext/ogg/gstoggdemux.c
ext/pango/gsttextoverlay.c
gst-libs/gst/audio/gstaudioencoder.c
gst-libs/gst/audio/gstbaseaudiosrc.c
gst/playback/gstsubtitleoverlay.c
gst/videorate/gstvideorate.c
2011-09-23 18:27:11 +02:00
Vincent Penquerc'h
c956c5fd00
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
2011-09-19 23:21:23 +01:00
Sebastian Dröge
d094913a61
textoverlay: Protect against accessing the NULL parent of the pads during shutdown
...
Fixes bug #658901 .
2011-09-19 09:34:08 +02:00
Tim-Philipp Müller
15d8082a55
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.
2011-09-16 20:14:39 +01:00
Tim-Philipp Müller
049e275632
oggdemux: minor printf format fix
2011-09-16 20:11:56 +01:00
Vincent Penquerc'h
89fc5b4bd8
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
2011-09-16 20:07:33 +01:00
Vincent Penquerc'h
0173afa38c
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
2011-09-16 19:47:10 +01:00
Vincent Penquerc'h
6704b37fc3
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
2011-09-14 23:20:01 +01:00
Thomas Vander Stichele
d223a6dd59
theoraenc: Fix descriptions of properties
2011-09-11 14:22:59 -04:00
Sebastian Dröge
0f654f3feb
Merge branch 'master' into 0.11
...
Conflicts:
docs/libs/Makefile.am
tests/check/elements/decodebin2.c
2011-09-08 14:42:00 +02:00
Vincent Penquerc'h
cea0ac790f
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
2011-09-07 13:27:33 +02:00
Wim Taymans
33196cdd2c
audio: change audio format syntax a little
...
Remove the _ in front of the endianness prefix.
Remove the _3 postfix for the 24 bits formats.
Add a _32 postfix after the formats that occupy extra space beyond their
natural size.
The result is that the GST_AUDIO_NE() macro can simply append the endianness
after all formats and that we only specify a different sample width when it is
different from the natural size of the sample. This makes things more consistent
and follows the pulseaudio conventions instead of the alsa ones.
2011-09-06 12:06:39 +02:00
Wim Taymans
e1287b97ab
Merge branch 'master' into 0.11
...
Conflicts:
ext/ogg/gstoggmux.c
gst-libs/gst/audio/audio.c
gst-libs/gst/audio/audio.h
gst-libs/gst/audio/multichannel.h
gst-libs/gst/pbutils/Makefile.am
gst-libs/gst/pbutils/gstdiscoverer.c
gst/playback/gstplaysinkaudioconvert.c
gst/playback/gstplaysinkvideoconvert.c
win32/common/libgstaudio.def
2011-08-29 11:37:36 +02:00
Vincent Penquerc'h
02763b2fa2
theoraenc: fix caps leak
...
https://bugzilla.gnome.org/show_bug.cgi?id=657333
2011-08-25 15:17:01 +01:00
Vincent Penquerc'h
fd218c4ec2
oggmux: fix leaks in skeleton writing
...
https://bugzilla.gnome.org/show_bug.cgi?id=563251
2011-08-25 08:32:26 +02:00
Vincent Penquerc'h
29038283bc
oggmux: generate message headers from received tags
...
Some message headers can be deduced from tags (eg, "Language").
https://bugzilla.gnome.org/show_bug.cgi?id=563251
2011-08-25 08:32:20 +02:00
Vincent Penquerc'h
53c8656248
ogg: use memory slices where appropriate
...
While there, avoid zeroing newly allocated memory where unnecessary
https://bugzilla.gnome.org/show_bug.cgi?id=656775
2011-08-25 08:26:49 +02:00
Wim Taymans
232a5a3d0a
Merge branch 'master' into 0.11
...
Conflicts:
ext/ogg/gstoggmux.c
ext/vorbis/gstvorbisenc.c
2011-08-24 11:04:53 +02:00
Vincent Penquerc'h
7b8b0fa1bb
oggdemux: do not warn when reaching EOS while scanning for the end chain
...
After all, we were asking for it.
This gets rid of the last warning-about-expected-condition.
w00t.
https://bugzilla.gnome.org/show_bug.cgi?id=657151
2011-08-24 08:32:21 +02:00
Vincent Penquerc'h
df40ddf0aa
oggdemux: add media type to chain information reports
...
One more little step in making logs a little less abstruse.
https://bugzilla.gnome.org/show_bug.cgi?id=657151
2011-08-24 08:31:58 +02:00
Vincent Penquerc'h
1e606c0456
oggstream: correctly identify skeleton EOS packet
...
It is 0 byte, and was triggering the "bad packet" logic.
https://bugzilla.gnome.org/show_bug.cgi?id=657151
2011-08-24 08:31:51 +02:00
Vincent Penquerc'h
68ed992e7e
oggdemux: do not warn about expected occurences
...
In this case, finding a skeleton packet.
Once upon a time, it used to be rare indeed, but no more.
https://bugzilla.gnome.org/show_bug.cgi?id=657151
2011-08-24 08:31:30 +02:00
Vincent Penquerc'h
4fdb52871c
oggdemux: do not warn when finding a non BOS page
...
After all, we do hope to find actual data for these streams.
However, warn if we could not set up a chain when we find a
non BOS page, as that means we don't have a valid Ogg stream.
https://bugzilla.gnome.org/show_bug.cgi?id=657151
2011-08-24 08:31:17 +02:00
Vincent Penquerc'h
564eedd214
oggdemux: rename local variable for clarity
...
While the casual reader might end up bewildered by just why this
change might increase clarity, it just happens than, in the libogg
and associated sources, op is the canonical name for an ogg_packet
whlie og is the canonical name for an ogg_page, and reading this
code confuses me.
https://bugzilla.gnome.org/show_bug.cgi?id=657151
2011-08-24 08:30:55 +02:00
Vincent Penquerc'h
5d18496a5b
oggdemux: do not try to determine duration of header packets
...
Headers are inherently durationless.
Instead, set duration to 0 to avoid increasing tracked granpos,
and do not warn about it, since it is totally expected.
https://bugzilla.gnome.org/show_bug.cgi?id=657151
2011-08-24 08:30:45 +02:00
Vincent Penquerc'h
67a882afe7
oggstream: include stream type in warnings
...
It makes it easier to work out what's going on.
https://bugzilla.gnome.org/show_bug.cgi?id=657151
2011-08-24 08:30:30 +02:00
Vincent Penquerc'h
43cb76b1d8
oggstream: set skeleton stream media type to application/x-ogg-skeleton
...
This is to match the typefinder, and to make logs clearer.
https://bugzilla.gnome.org/show_bug.cgi?id=657151
2011-08-24 08:30:17 +02:00
Vincent Penquerc'h
2301f1806f
oggmux: add skeleton write support
...
Version written is 3.0
Base times are left empty for now.
Content-Type should be the MIME type of the stream. It is set to
the GStreamer media type for now, which is probably the same for
the streams oggmux supports.
https://bugzilla.gnome.org/show_bug.cgi?id=563251
2011-08-24 08:21:34 +02:00
Wim Taymans
e78b66f5a3
video: fix chroma-site enums
2011-08-23 20:34:24 +02:00
Wim Taymans
9ad89374a3
video: add colorimetry info
...
Make enums for the chroma siting for easier use in the videoinfo.
Make enums for the color range, color matrix, transfer function and the
color primaries. Add these values to the video info structure in a Colorimetry
structure. These values define the exact colors and are needed to perform
correct colorspace conversion. Use a couple of predefined colorimetry specs
because in practice only a few combinations are in use.
Add view_id to the video frames to identify the view this frame represents in
multiview video.
Remove old gst_video_parse_caps_framerate, use the videoinfo for this.
Port elements to new colorimetry info.
Remove deprecated colorspace property from videotestsrc.
2011-08-23 18:57:35 +02:00