Commit graph

12236 commits

Author SHA1 Message Date
Wim Taymans
ca456ec6f9 riff: add channel masks for all formats
Add the channel masks for all the extensible formats
Pass the number of channels instead of reading them from caps.
2012-12-21 14:03:32 +01:00
Pete Beardmore
d2c68e602d riff: add waveformatextension ac3 support
fixes #690591
2012-12-21 13:28:41 +01:00
Wim Taymans
fe93457191 audioclock: mark as using some other clock
We need to mark our clock as using some other clock source. Alsa source uses the
clock type to decide if it can use alsa driver timestamps or not.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=690465
2012-12-20 16:48:04 +01:00
Wim Taymans
5e04fcd2ef audiobasesrc: init variable
We need to initialize this variable because we can't be sure that the subclass
will set it.
2012-12-20 16:47:56 +01:00
Thijs Vermeir
dc9f19cbba vorbis: fix unused variable 2012-12-18 15:34:42 +01:00
Thijs Vermeir
675562d362 video: use appropriate printf format for gsize 2012-12-18 15:31:52 +01:00
Thijs Vermeir
2887485358 rtp: fix compiler warning
comparison is always true due to limited range of data type
2012-12-18 15:27:48 +01:00
Tim-Philipp Müller
df6031f7c6 alsasrc: return negative value on read error
Otherwise baseaudiosrc won't go into the error code path.

https://bugzilla.gnome.org/show_bug.cgi?id=690197
2012-12-17 20:50:33 +00:00
Tim-Philipp Müller
68f366a8d3 audiobasesrc: bail out if subclass posts an error
Use new ringbuffer ERROR state to make all the various
threads bail out correctly when the subclass posts an
error. It's a bit iffy to communicate this properly
between the different bits of code.

https://bugzilla.gnome.org/show_bug.cgi?id=690197
2012-12-17 20:50:32 +00:00
Tim-Philipp Müller
4f49c7a33b audioringbuffer: add GST_AUDIO_RING_BUFFER_STATE_ERROR state
API: GST_AUDIO_RING_BUFFER_STATE_ERROR

https://bugzilla.gnome.org/show_bug.cgi?id=690197
2012-12-17 20:50:32 +00:00
Thibault Saunier
e79f0e801e encodebing: Use the preset_name as the factory name and preset as the name of the preset
The naming is not perfect, but at least we can keep the exact same behaviour as
before.
2012-12-17 10:12:11 -03:00
Thiago Santos
929edc2572 audiobasesrc: Always resync the ringbuffer on the first buffer
In SKEW mode, use next_sample == -1 to check for the first sample
when starting to read samples so it resyncs the ringbuffer and
timestamps are ok.

Suggestion from Teemu Katajisto <teemu.katajisto@digia.com>

https://bugzilla.gnome.org/show_bug.cgi?id=648359
2012-12-17 11:47:34 +01:00
Tim-Philipp Müller
53072a4326 ssaparse: ignore invalid UTF-8 in init section
The codec data blob we get from matroskademux with the SSA/ASS
init section is supposed to be valid UTF-8. If it's not, just
continue with the bits that are valid UTF-8 instead of erroring
out. We don't actually parse the init section yet anyway..

https://bugzilla.gnome.org/show_bug.cgi?id=607630
2012-12-17 01:09:11 +00:00
Tim-Philipp Müller
6549db36cd subparse: fix GError leak 2012-12-16 12:34:14 +00:00
Tim-Philipp Müller
2f177a7616 typefinding: detect stand-alone SSA/ASS subtitle files
https://bugzilla.gnome.org/show_bug.cgi?id=625113
2012-12-16 12:11:27 +00:00
Tim-Philipp Müller
3d5a78e67a alsa: post error message when audio device disappears
Don't loop forever if an USB audio device gets disconnected
while in use. Post an error message instead. This is not
enough yet though, we still need to make the base class
and/or the ring buffer bail out.

https://bugzilla.gnome.org/show_bug.cgi?id=690197
2012-12-16 01:00:43 +00:00
Tim-Philipp Müller
3f583351d4 pbutils: add some more flags and file extensions to internal media type descriptions table
For later use.

https://bugzilla.gnome.org/show_bug.cgi?id=636753
https://bugzilla.gnome.org/show_bug.cgi?id=549111
2012-12-15 14:08:26 +00:00
Wim Taymans
65c5ecd270 rtspconnection: add limit to queued messages
Add a limit to the amount of queued bytes or messages we allow on the watch.

API: GstRTSPConnection::gst_rtsp_watch_set_send_backlog()
API: GstRTSPConnection::gst_rtsp_watch_get_send_backlog()
2012-12-14 11:36:58 +01:00
Wim Taymans
66cafcc34d playsink: fix vis switch with format change
Block the pad before the resample and convertor elements to give the a chance to
negotiate new caps with the newly switched vis plugin.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=679976
2012-12-13 11:34:54 +01:00
Christian Fredrik Kalager Schaller
63ec68bc47 Fix spec file to match latest header reshuffle 2012-12-13 11:03:30 +01:00
Sebastian Dröge
d9b25afe71 ext: Fix some compilation errors caused by circular header includes 2012-12-12 17:22:31 +00:00
Sebastian Dröge
3f82e919dd libs: Use foo/foo.h as single-include header consistently everywhere
https://bugzilla.gnome.org/show_bug.cgi?id=688785
2012-12-12 17:13:10 +00:00
Tim-Philipp Müller
4c58077f22 typefindfunctions: aac: don't try to unref NULL caps 2012-12-12 15:31:20 +00:00
Tim-Philipp Müller
4c82bf973d docs: update 2012-12-10 13:40:33 +00:00
Tim-Philipp Müller
e05abf0ef1 docs: fix up some more GstXOverlay -> GstVideoOverlay
https://bugzilla.gnome.org/show_bug.cgi?id=689740
2012-12-10 13:40:26 +00:00
Sebastian Dröge
0bb5c6c012 videodecoder: Only keep track of timestamps if the subclass is parsing data
Otherwise we just pass through the timestamps directly and don't
need to waste additional memory for them.

Fixes bug #689814.
2012-12-10 11:51:02 +00:00
Sebastian Rasmussen
d4b6f3c1a0 rtspmessage: Add several missing g-i annotations
https://bugzilla.gnome.org/show_bug.cgi?id=689873
2012-12-10 10:58:12 +01:00
Tim-Philipp Müller
08bd6a2de9 win32: add new encoding profile API to .def file 2012-12-09 22:36:32 +00:00
Thibault Saunier
12aef5f47d tests: encodebin: Properly rename new preset test 2012-12-05 17:53:19 -03:00
Thibault Saunier
7358cba017 encodebin: Make use of the new preset_name when setting a preset
The behaviour is sensibly changed here. Instead of purely falling when a
preset is set on the #GstEncodingProfile, we now make sure that the
element that is plugged corresponds to the one specified as preset. Then,
if we have a preset_name, we use it, if it fails, we fail (we might rather
just keep working even without setting the element properties?)

 + Add tests that it behave correctly
2012-12-05 17:48:38 -03:00
Thibault Saunier
6a7f688939 encoding-profile: Let the user decide what preset name to use
It was possible to decide only what #GstElement implementing #GstPreset
to use during the encoding, we can now let the user select a specific preset previously
saved using #gst_preset_save_preset specifying the name chosen when it was saved
in the gst_encoding_profile_set_preset_name.

Actually loading a preset with %NULL as a name would have always failed, so
in the current state of the API that feature is unusable

API:
  gst_encoding_profile_set_preset_name
  gst_encoding_profile_get_preset_name
2012-12-05 17:36:21 -03:00
Thiago Santos
26d72a73f5 pbutils: encoding-profile: fix _new function introspection docs
Makes the parameter accept NULL as input for GI bindings
2012-12-04 13:19:26 -03:00
Tim-Philipp Müller
0b172593fa tcp: print warning if someone tries to add clients in NULL state
And mention this in docs.

https://bugzilla.gnome.org/show_bug.cgi?id=689326
2012-12-02 12:54:17 +00:00
Tim-Philipp Müller
fbff6c6fb1 audioencoder: add some more debug info and remove obsolete comment 2012-12-02 12:33:43 +00:00
Tim-Philipp Müller
b72d274fdb win32: update .def for new API 2012-11-30 12:15:48 +00:00
Tim-Philipp Müller
64c4fa2ca0 test: add test for playbin in combination with appsink
Make sure appsink works multiple times in a row.
Disable it though for now though.

https://bugzilla.gnome.org/show_bug.cgi?id=644989
2012-11-29 15:00:39 +00:00
Edward Hervey
8edd1443a8 configure.ac: Update libtool versioning
In order for 1.x and 1.(x+1) versions to not invade on each other
we need to have different lib versions.

So we need a consistent and predictable scheme:
   library version number = MINOR * 100 + MICRO

Ex:
  1.0.0 => 0 (duh)
  1.0.3 => 3
  1.1.0 => 100
  1.1.1 => 101
  1.2.0 => 120
  1.10.5 => 1005
2012-11-28 18:50:45 +01:00
Wim Taymans
b511f938d4 rtsp: add method to parse options list 2012-11-27 11:15:34 +01:00
Sebastian Dröge
9e8e3dfef4 videoscale: Fix unit test to ignore unsupported color formats 2012-11-27 10:30:39 +01:00
Tim-Philipp Müller
7c89a7298a streamsynchronizer: don't send gap events with huge bogus durations when advancing EOS streams
When the input buffers for a stream don't have a duration set,
timestamp_end might still be GST_CLOCK_TIME_NONE. When advancing
EOSed streams via GAP events (with other streams not yet EOS), we
would then use the invalid timestamp_end to calculate the duration
of the gap. This in turn would make baseaudiosink abort, because it
would try to allocate memory for a trizillion samples.

So if buffers don't have a duration set, assume a duration of
one second for stream catch-up purposes, just so we can still
continue to catch up in those cases. And make sure that
timestamp_end is valid before doing calculations with it.

http://bugzilla.gnome.org/show_bug.cgi?id=678530
2012-11-26 19:03:38 +00:00
Tim-Philipp Müller
601aabdf9c streamsynchronizer: reduce debug log spam a bit
Log locking/unlocking with TRACE debug level.
2012-11-25 18:07:04 +00:00
Tim-Philipp Müller
5237692de6 docs: update audio multi-channel docs
Remove includes and functions that don't exist any longer,
add new ones instead.
2012-11-23 13:58:55 +00:00
Christian Fredrik Kalager Schaller
32438d2e8d Add new header files 2012-11-23 11:14:40 +01:00
Sebastian Dröge
830b500d40 decodebin: Set element to NULL state before removing it from the bin 2012-11-22 13:09:46 +01:00
Sebastian Dröge
2faef82b9a decodebin: Check if the element really accepts the caps after setting it to READY
It might know the caps constraints for sure only after opening a decoder.
2012-11-22 13:07:11 +01:00
Tim-Philipp Müller
8827437b61 audio: remove bogus Since marker from docs
It was causing perl warnings in gtk-doc code.
2012-11-21 23:19:14 +00:00
Tim-Philipp Müller
020eb24dcf app: fix g-i annotation for gst_app_src_push_buffer()
It takes ownership of the buffer.
2012-11-21 21:53:13 +00:00
Tim-Philipp Müller
b307bb5782 win32: update .def file for new rtsp API 2012-11-21 20:51:37 +00:00
Wim Taymans
ce904ec551 rtsprange: add string conversion for new formats 2012-11-21 16:25:24 +01:00
Wim Taymans
fdf904db32 rtsprange: add method to convert ranges to GstClockTime
Add a method to convert the values of GstRTSPRange to GstClockTime.
Add unit tests for the conversions.

API: gst_rtsp_range_get_times()
2012-11-21 15:35:46 +01:00