Commit graph

958 commits

Author SHA1 Message Date
Sebastian Dröge
e779002cfd audiodecoder: Don't unref caps twice
Thanks to Josep Torra for noticing.
2012-10-10 15:50:31 +02:00
Wim Taymans
3591df23b1 docs: playbin2 -> playbin 2012-10-09 12:20:10 +02:00
Andoni Morales Alastruey
8a5cf5ef4d audio/video: update documentation for vfunc's that require chaining up 2012-10-08 13:04:02 +02:00
Tim-Philipp Müller
cdb22274e6 audioencoder: make stop() vfunc also optional
Just change default value, since we also don't want to fail
if we want to deactivate and aren't active or want to activate
and are already active.

https://bugzilla.gnome.org/show_bug.cgi?id=685490
2012-10-04 13:40:32 +01:00
Andoni Morales Alastruey
795d366a0c audioencoder: don't fail if the start vfunc is not implemented
Fix behaviour to match documentation and decoder class behaviour.

https://bugzilla.gnome.org/show_bug.cgi?id=685490
2012-10-04 13:14:10 +01:00
Michael Smith
92560517e8 Merge branch 'master' of ssh://git.freedesktop.org/git/gstreamer/gst-plugins-base 2012-10-03 10:45:26 -07:00
Michael Smith
a29c4f9489 meta registration: use g_once functions to register these threadsafely. 2012-10-03 10:44:59 -07:00
Arun Raghavan
9f9718715a audio: Explicitly specify endianness for IEC 61937 payloading
This is required since some systems (DirectSound and OS X) manage the
final byte order themselves.

https://bugzilla.gnome.org/show_bug.cgi?id=678021
2012-09-19 09:15:16 +05:30
Mark Nauwelaerts
c629a44162 replace gst_tag_list_free with gst_tag_list_unref 2012-09-14 17:53:21 +02:00
Wim Taymans
a57198a0ba audio: improve property description
Improve the description of the latency-time and buffer-time properties in the
audio sink and source.
2012-09-14 16:08:50 +02:00
Sebastian Dröge
6e33f2d464 audiodecoder: Don't output an (unreffed) buffer in error cases 2012-09-14 14:54:22 +02:00
Tim-Philipp Müller
f7c6aa5abd Release 0.11.94 2012-09-14 02:47:54 +01:00
Olivier Crête
b35bc51ed6 audio: Fix annotations 2012-09-13 17:11:56 -04:00
Wim Taymans
0ce33461c8 audiosrc: check for flushing state in provide_clock
Only provide a clock when we are not flushing, this means that we have posted a
PROVIDE_CLOCK message. We used to check if we were acquired but that doesn't
work anymore now that we do the negotiation async in the streaming thread: it's
possible that we are still negotiating when the pipeline asks us for a clock.
2012-09-10 12:19:22 +02:00
Wim Taymans
44dab50b7a ringbuffer: add method to check the flushing state 2012-09-10 12:19:22 +02:00
Mark Nauwelaerts
75fe950c33 gst-libs: restore original full padding 2012-09-10 11:45:44 +02:00
Pontus Oldberg
a2f8ec4f5a ringbuffer: add support for timestamps
Make it possible for subclasses to provide the timestamp (as an absolute time
against the pipeline clock) of the last read data.
Fix up alsa to provide the timestamp received from alsa. Because the alsa
timestamps are in monotonic time, we can only do this when the monotonic clock
has been selected as the pipeline clock.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=635256
2012-09-10 11:34:14 +02:00
Mark Nauwelaerts
a29fab200c audio{de,en}coder: use GstClockTime parameters where appropriate
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=683672
2012-09-10 11:20:50 +02:00
Thibault Saunier
dc5bb008a3 audio: port to the new GLib thread API 2012-09-09 20:41:06 -03:00
Tim-Philipp Müller
2079a8c12b Remove glib-compat-private.h stuff we don't need any more
It's all been ported to the latest GLib API now.
2012-09-09 18:36:49 +01:00
Mark Nauwelaerts
c9d3f32cc9 audioencoder: plug some leaks 2012-09-06 12:16:59 +02:00
Wim Taymans
668ce33384 update for basesink change 2012-09-04 12:18:11 +02:00
Tim-Philipp Müller
a99a1042b9 gst_message_new_duration() -> gst_message_new_duration_changed() 2012-09-02 01:27:17 +01:00
Jan Schmidt
5dafecad31 audiodecoder: Handle GAP events in place of segment updates
Use them to trigger generation of an empty output buffer or
to send pending events downstream and trigger pre-roll
2012-08-31 12:42:12 -07:00
Edward Hervey
def07410ef audiobasesink: Avoid resetting ringbuffer when not needed
If the ringbuffer was configured to the same caps as previously, we
don't need to reconfigure it.
2012-08-14 18:56:00 +02:00
Víctor Manuel Jáquez Leal
f7f0c55e5f audiodecoder: getter for allocator
Sometimes the decoder would use the allocator for something else than just
allocating output buffers, for example, querying different parameters.

This patch expose a getter accessor for the negotiated memory allocator.
2012-08-14 15:47:34 +02:00
Víctor Manuel Jáquez Leal
936ec3eb8f audioencoder: getter for allocator
Sometimes the encoder would use the allocator for something else than just
allocating output buffers, for example, querying different parameters.

This patch expose a getter accessor for the negotiated memory allocator.
2012-08-14 15:47:29 +02:00
Tim-Philipp Müller
2ff4d2efe3 audioencoder: return TRUE from _set_output_format() if all is good
Fixes not-negotiated errors in wavpackenc unit test.
2012-08-13 23:34:52 +01:00
Sebastian Dröge
62ec7f837d audioencoder: Let global tag events be handled the same way as other events 2012-08-09 17:06:31 +02:00
Sebastian Dröge
e9fbba63b5 audiodecoder: Let global tag events be handled the same way as other events 2012-08-09 16:55:19 +02:00
Sebastian Dröge
2a1f8a4da3 audio: Merge upstream stream tags 2012-08-09 16:24:47 +02:00
Sebastian Dröge
7f0e65bb46 audio: Always keep a complete taglist around
Otherwise updates to the tags will cause non-updated
tags to be lost downstream.
2012-08-09 15:48:03 +02:00
Sebastian Dröge
bc4d923982 audioencoder: Add negotiate vfunc that is used to negotiate with downstream
The default implementation negotiates a buffer pool and allocator
with downstream.
2012-08-09 15:27:33 +02:00
Sebastian Dröge
9309272309 audioencoder: Decouple setting of output format and downstream negotiation
This makes the audio encoder base class more similar to the video
encoder base class.
2012-08-09 15:21:01 +02:00
Sebastian Dröge
513d4f7cd1 audiodecoder: Add negotiate vfunc that is used to negotiate with downstream
The default implementation negotiates a buffer pool and allocator
with downstream.
2012-08-09 15:10:05 +02:00
Sebastian Dröge
e1702d62a0 audiodecoder: Decouple setting of output format and downstream negotiation
This makes the audio decoder base class more similar to the video
decoder base class.
2012-08-09 15:02:27 +02:00
Tim-Philipp Müller
6422f2d085 Update .gitignore 2012-08-08 09:06:30 +01:00
Tim-Philipp Müller
ca31913c04 audiocdsrc: update for TOC API change 2012-07-28 11:13:12 +01:00
Sebastian Dröge
99d73c94e9 tag: Update for taglist/tag event API changes 2012-07-28 00:35:02 +02:00
Wim Taymans
683a38ad65 update for new variable names 2012-07-27 15:24:43 +02:00
Wim Taymans
40a0624e99 audio-format: fix shift for 18 bits samples
The 18bits of the sample are in the LSB so we need to shift them 14 positions to
bring them to 32 bits.
2012-07-26 15:42:38 +02:00
Mark Nauwelaerts
c91615bd82 audio{de,en}coder: delay input caps processing until processing data
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=680614
2012-07-26 14:35:30 +02:00
Mark Nauwelaerts
28537dc73c audioencoder: avoid setting output caps twice
... which may not be handled or appreciated well downstream,
e.g. muxers only performing header setup once.
2012-07-25 15:58:19 +02:00
Mark Nauwelaerts
1f962bc108 audioencoder: also consider filter caps in getcaps 2012-07-25 15:58:19 +02:00
Mark Nauwelaerts
26d74941fb Revert "audioencoder: plug caps ref leak"
This reverts commit 08ff5899a7.

Was not a leak to begin with as we did not have ownership of caps.
2012-07-25 12:30:54 +02:00
Mark Nauwelaerts
08ff5899a7 audioencoder: plug caps ref leak 2012-07-25 11:58:26 +02:00
Mark Nauwelaerts
473371f943 audiodecoder: hold caps ref while needed 2012-07-25 11:58:26 +02:00
Mark Nauwelaerts
d55529621c audioencoder: correctly compare audio info positions
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=680553
2012-07-25 11:58:26 +02:00
Mark Nauwelaerts
65ea6dee60 audiodecoder: only arrange to reconfigure if data provided
... otherwise audio format need not be known already.
2012-07-24 14:48:59 +02:00
Mark Nauwelaerts
d63a4024b8 audiodecoder: minor doc fix 2012-07-24 12:30:21 +02:00
Wim Taymans
5ff002b47a audio: prefix orc_* functions with audio_orc_*
To avoid potential conflicts in other modules when statically linking
2012-07-23 17:16:34 +02:00
Sebastian Dröge
d55d7fdc38 audio: Renegotiate if necessary
And also correct usage of the base class stream lock.
2012-07-23 12:01:12 +02:00
Sebastian Dröge
7b06c34868 audiodecoder: Handle allocation query 2012-07-23 11:42:22 +02:00
Sebastian Dröge
0814d38e98 audiodecoder: Add propose_allocation, decide_allocation vfuncs and functions to allocate buffers with information from the allocation query results 2012-07-23 10:28:05 +02:00
Sebastian Dröge
0513d3d9f4 audioencoder: Add propose_allocation, decide_allocation vfuncs and functions to allocate buffers with information from the allocation query results 2012-07-23 10:20:05 +02:00
Edward Hervey
55f692eff6 audiodecoder: Don't assert on pad caps not being set
The decoder might have been de-activated in the meantime (resulting
in NULL pad caps).

If the decoder really isn't configured, then it will error out further
down when checking whether the GST_AUDIO_INFO_IS_VALID()

https://bugzilla.gnome.org/show_bug.cgi?id=667562
2012-07-19 10:55:53 +02:00
Evan Nemerson
7a7374f2ef audiometa: add missing array array annotations 2012-07-17 11:07:18 +02:00
Evan Nemerson
17815020fd audio: add missing array and element-type annotations for binary data 2012-07-17 11:06:57 +02:00
Evan Nemerson
fd91104636 audio-channels: add missing array-related annotations 2012-07-17 11:06:47 +02:00
Evan Nemerson
1606028c08 audioencoder: add missing element-type to set_headers method 2012-07-17 11:06:22 +02:00
Edward Hervey
2817bdadc9 libs: Remove "Since" markers and minor doc fixups 2012-07-13 12:11:06 +02:00
Edward Hervey
c9428c96b1 baseaudiosink: Resync when ringbuffer resets
When the ringbuffer gets restarted (like in setcaps), we *will* have
to resync against the new values.

Without this we end up blindly assuming the new samples align to the
old ones.
2012-07-12 09:51:35 +02:00
Sebastian Dröge
9de1b170b3 audiocdsrc: Remove the TOC query handling 2012-07-05 12:35:35 +02:00
Sebastian Dröge
0ac1596d8d audiocdsrc: Update for TOC API changes 2012-07-05 12:29:00 +02:00
Sebastian Dröge
b362ec3a57 audiocdsrc: Only push TOC event, the TOC message is handled by the sinks 2012-07-03 17:31:54 +02:00
Tim-Philipp Müller
df70b2d2ce audiocdsrc: send TOC event downstream if we're in continuous mode
If we're in continuous mode where we'll play the entire CD from
start to finish, send a TOC event downstream so any downstream
muxers can write a TOC to indicate where the various tracks
start and end.
2012-06-28 23:41:16 +01:00
Tim-Philipp Müller
b27c649a48 audiocdsrc: post TOC message on the bus on start-up
First attempt at implement the various GstToc API
bits in GstAudioCdSrc.

https://bugzilla.gnome.org/show_bug.cgi?id=668996
2012-06-26 19:53:35 +01:00
Tim-Philipp Müller
a821d428bb audio: make sure g-i doesn't parse orc-generated gstaudiopack.h file 2012-06-24 00:28:40 +01:00
Wim Taymans
c003efcc63 audiobasesink: fix for basesink API change 2012-06-18 11:40:36 +02:00
Jan Schmidt
d9740bf9ba audio decoder: Add some debug output for bad caps from children 2012-06-12 23:52:35 +10:00
Vincent Penquerc'h
f8b8711081 audiodecoder: push queued events only when we have a first buffer
https://bugzilla.gnome.org/show_bug.cgi?id=675812
2012-06-11 11:29:13 +01:00
Wim Taymans
9d6967fe9a Add generated orc files 2012-06-08 17:57:43 +02:00
Wim Taymans
12ac9f0aa2 Also build the orc generated code 2012-06-08 17:57:43 +02:00
Wim Taymans
3f8c5ea036 audio: add orc enabled pack and unpack functions 2012-06-08 17:57:43 +02:00
Wim Taymans
8e393d898a audio: add flag to mark possible unpack formats
Make a new flag to mark formats that can be used in pack and unpack functions.
Mark S32NE and F64NE as those unpack formats
2012-06-08 17:57:43 +02:00
Sebastian Dröge
462c4cc3d8 audio: Remove unused, generated marshallers 2012-06-08 11:28:56 +02:00
Wim Taymans
3da0b71876 audio: split audio header into logical parts 2012-06-08 10:10:08 +02:00
Wim Taymans
a2172bdb4b update for tag event change 2012-06-06 13:05:47 +02:00
Sebastian Dröge
2667d4bb82 Revert "audiodecoder: Error out earlier in a few places if something goes wrong"
This reverts commit eb68a2d5a7.

This sometimes errors out too early now, needs some more thoughts.
2012-06-04 10:01:42 +02:00
Sebastian Dröge
f609b3a627 audiodecoder: Return setcaps return value instead of always TRUE 2012-06-04 09:56:30 +02:00
Sebastian Dröge
eb68a2d5a7 audiodecoder: Error out earlier in a few places if something goes wrong 2012-06-02 17:16:13 +02:00
Wim Taymans
c66da2c74b audio: add flags for the pack/unpack functions
Add a flag argument to the pack and unpack function so that we can expand it
later when needed. We could for example prefer a High Quality pack/unpack
operation later.
2012-05-29 09:54:43 +02:00
Arun Raghavan
9c29cd70ee audio: Fix DTS IEC61937 payloading
DTS type I-III specify the burst length in bits. Only type IV (which we
do not currently support) needs it to be specified in bytes. Thanks to
Julien Moutte for pointing this out.
2012-05-25 12:38:32 +02:00
Sebastian Rasmussen
b7b123964b gst-libs: make pkg-config get path to pkg-config dirs from configure
When --with-pkg-config-path is supplied to configure this path is now
explicitly propagated to pkg-config.

https://bugzilla.gnome.org/show_bug.cgi?id=673377
2012-05-05 23:26:20 +01:00
Sebastian Dröge
69b18ab09d gst-libs: Remove interfaces libs and mixer/tuner interfaces
The navigation interface is now in the video library.
2012-04-13 13:14:13 +02:00
Alban Browaeys
6c8abf24cf libs: Link against internal tag library 2012-04-11 09:58:49 +02:00
Sebastian Dröge
8091546694 audio: Remove obsolete FIXME 0.11 2012-04-11 09:57:35 +02:00
Alessandro Decina
ebf80977c4 audiodecoder: don't discard timestamps when consecutive input buffers have the same ts
Avoid pushing out buffers with the same timestamp only if the out buffers are
decoded from the same input buffer. Instead keep the timestamps when upstream
pushes consecutive buffers with the same ts.
2012-04-05 10:19:46 +02:00
Mark Nauwelaerts
6eeca397fc audioencoder: plug a definite and rare leak 2012-04-04 19:57:35 +02:00
Sebastian Dröge
65307dd132 gst: Update versioning 2012-04-04 14:55:15 +02:00
Mark Nauwelaerts
91aa1eb7dd audio{de,en}coder: fixup documentation 2012-04-02 14:23:33 +02:00
Sebastian Dröge
b701534204 audioencoder: Fix handling of offset/offset-end for Ogg codecs
Fixes the vorbisenc unit test.
2012-03-31 12:55:15 +02:00
Sebastian Dröge
a103fa85a9 audio{en,de}coder: Track input and output segments separately
They can go out of sync for some time if processing of buffers
on the old segment happens after the segment was received.
2012-03-30 13:21:09 +02:00
Sebastian Dröge
9cd9f00799 audioencoder: Add gst_audio_encoder_set_headers() to the docs 2012-03-30 12:57:02 +02:00
Sebastian Dröge
78bcb67ea5 audioencoder: Add function to set in-stream headers
API: gst_audio_encoder_set_headers()

This makes the hack in vorbisenc and probably others in ::pre_push()
unnecessary.
2012-03-30 12:47:28 +02:00
Sebastian Dröge
f791ec1f10 audioencoder: Rename ::event() to ::sink_event() and add ::src_event() 2012-03-30 12:23:13 +02:00
Sebastian Dröge
d8cb235fe4 audiodecoder: Rename ::event() to ::sink_event() and add ::src_event() 2012-03-30 12:23:13 +02:00
Sebastian Dröge
40a4f2f8aa audiodecoder: Rename _byte_time() to _estimate_rate()
Which is telling more about what this actually does and is more
consistent with the video base classes.
2012-03-30 11:51:47 +02:00
Mark Nauwelaerts
2ddc6bb63d audiodecoder: handle downstream seeking query
... or not, in line with how segment events are treated.
2012-03-28 16:41:01 +02:00
Wim Taymans
77a4f5865b audioencoder: avoid caps copy 2012-03-27 15:44:43 +02:00