Commit graph

973 commits

Author SHA1 Message Date
Sebastian Dröge
32139f9a3d audio: Use new GType for GThread instead of just G_TYPE_POINTER 2012-11-12 11:45:47 +01:00
Sebastian Dröge
d209727644 audiodecoder: Reset error count to 0 after successfully decoding a frame 2012-11-09 16:48:54 +01:00
Tim-Philipp Müller
5f59b4f7ee Fix FSF address
https://bugzilla.gnome.org/show_bug.cgi?id=687520
2012-11-03 23:05:09 +00:00
Miguel Angel Cabrera Moya
244fdcc69a audiobasesink: use the same type as the internal type to return it
https://bugzilla.gnome.org/show_bug.cgi?id=687466
2012-11-02 19:52:38 +00:00
Wim Taymans
5f44303925 audioringbuffer: reset spec on _release
Reset the caps and the audioinfo when releasing the ringbuffer.
Fixed a bug with reusing pulsesink.
2012-10-30 10:33:04 +00:00
Tim-Philipp Müller
a4f2df6341 Revert "g-i: change g-ir-scanner arg --library=libgstfoo-X.la to --library=gstfoo-X"
This reverts commit e39fbe6b7e.

Looks like we need to pass the full .la file after all in a setup
with libtool, or it might not find the library, e.g. like

  ERROR: can't resolve libraries to shared libraries: gstfft-1.0

Conflicts:
	gst-libs/gst/audio/Makefile.am
	gst-libs/gst/pbutils/Makefile.am

Also see https://bugzilla.gnome.org/show_bug.cgi?id=603710
2012-10-29 12:47:05 +00:00
Tim-Philipp Müller
973f4f09ea audio: try harder to make g-i use the build-tree libgsttag
without adding additional --library= tags, which shouldn't be there.

https://bugzilla.gnome.org/show_bug.cgi?id=679315
2012-10-28 17:59:27 +00:00
Tim-Philipp Müller
e39fbe6b7e g-i: change g-ir-scanner arg --library=libgstfoo-X.la to --library=gstfoo-X
As it should be according to the man page.

https://bugzilla.gnome.org/show_bug.cgi?id=679315
2012-10-28 17:35:57 +00:00
Mark Nauwelaerts
45d802b63f audiodecoder: track forced decoding state 2012-10-24 14:46:22 +02:00
Sebastian Dröge
1813701ef2 audiobasesink: Add explanation to the GAP event handling code 2012-10-24 11:22:29 +02:00
Sebastian Dröge
b793d0bfae audiobasesink: Properly handle GAP events
These are now converted into silence buffers if they have
a duration or cause the ringbuffer and clock to be started
if they don't have a duration.

Fixes bug #685273.
2012-10-24 11:19:05 +02:00
Tim-Philipp Müller
277ca04976 audiodecoder: don't leak message strings when error is not fatal
https://bugzilla.gnome.org/show_bug.cgi?id=681192
2012-10-20 11:38:10 +01:00
Tim-Philipp Müller
3ee2ad255b audiocdsrc: mention TOCs in docs 2012-10-17 19:59:57 +01:00
Mark Nauwelaerts
162433795a audio: properly handle clipping of empty buffer 2012-10-15 18:48:01 +02:00
Josep Torra
d8d9f0db97 audiodecoder: set of base_ts for segment formats other than time
Fixes setting of converted segment start as base_ts when estimate rate
is allowed.
2012-10-11 13:17:01 +02:00
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