Commit graph

1551 commits

Author SHA1 Message Date
Dave Robillard
374d52d257 Multi-channel support with channel positions.
This queries port roles from the LV2 data and converts it into GStreamer
channel positions.  This should allow any type of multi-channel plugin
(including beyond stereo, e.g. surround) to work fine in GStreamer,
and with elements that require channel positions to be explicitly stated.
2009-09-17 09:46:49 +03:00
Dave Robillard
8538d382e3 Add documentation for LV2 element. 2009-09-17 09:46:49 +03:00
Dave Robillard
d051620fcc Fix typo in LADSPA element documentation. 2009-09-17 09:46:49 +03:00
Dave Robillard
00a4088950 Add swh and calf LV2 port group patches. 2009-09-17 09:46:48 +03:00
Dave Robillard
403f58b562 Working multi-channel pads for LV2 plugins. 2009-09-17 09:46:48 +03:00
Dave Robillard
c076e7d34f Allocate a static predicate for pg:inGroup. 2009-09-17 09:46:48 +03:00
Dave Robillard
1ef08edb7c Only allocate lv2:inPlaceBroken predicate once. 2009-09-17 09:46:48 +03:00
Dave Robillard
b849ae89b5 Separate port discovery from pad template creation.
This first counts ports (using the builtin slv2 functions to do so
rather than manually as before), then creates descriptors for each port
and finds all port groups.  Only then are pad templates created (towards
using group information for creating multi-channel pads).
2009-09-17 09:46:48 +03:00
Dave Robillard
28b35ae923 Use silly glib types :). 2009-09-17 09:46:48 +03:00
Dave Robillard
8eeb2f3751 Query and store port group information.
Replace port index arrays with a struct for holding more information
than just indices (e.g. groups).
2009-09-17 09:46:48 +03:00
Dave Robillard
db1a4ba50b Working basic LV2 signal processing.
LV2 plugins, short of any surprises, should work with the same basic
functionality as LADSPA plugins.
2009-09-17 09:46:47 +03:00
Dave Robillard
ab96789f58 Set class inPlaceBroken property. 2009-09-17 09:46:47 +03:00
Stefan Kost
9e12fb5675 docs: fix example and mention difference to vorbisdec 2009-09-17 09:46:47 +03:00
Sebastian Dröge
5a8e9cd080 signalprocessor: Fix various build/dist issues
Install the headers, version the library with @GST_MAJORMINOR@,
add all required libraries to _LIBADD instead of _LDFLAGS,
and add GST_*_LDFLAGS to _LDFLAGS.

Fixes bug #594715.
2009-09-10 07:56:25 +02:00
Mark Nauwelaerts
4082652c4d faac: add some debug statements for discrepancy cases and plug memleak 2009-09-08 22:32:28 +02:00
Mark Nauwelaerts
ef72172247 faac: sprinkle some more G_(UN)LIKELY 2009-09-08 22:32:27 +02:00
Mark Nauwelaerts
2c0dd62abb faac: enforce sync between wrapper view of data and encoder returned data 2009-09-08 22:32:27 +02:00
Mark Nauwelaerts
ceb6792447 faac: add some documentation 2009-09-08 22:32:27 +02:00
Marc-André Lureau
90ae1ac35e assrender: Fix compilation with libass = 0.9.6
Fixes bug #594382.
2009-09-08 09:27:52 +02:00
Sebastian Dröge
b3ce1e03fb wildmidi/timidity: Add audio/riff-midi to the src pad template caps 2009-09-04 19:17:06 +02:00
Wim Taymans
f874e30998 wildmidi: cleanups and fix seeking
Remove time_per_frame, it's too inaccurate.
Fix convert for -1 values.
Use scaling to convert samples to time.
Fix segment handling.
Fix seeking.
Fix buffer clipping (not yet enabled)
Protect the WildMidi library with the object lock to avoid races when changing
properties.
Fix offsets on output buffers, for raw audio the offset contains the sample
position not byte position.
Add better DISCONT handling.

Fixes #519001
2009-09-04 17:32:15 +02:00
Josep Torra
806746a388 neonhttpsrc: handle all redirection http status codes 2009-09-04 13:13:39 +02:00
Mark Nauwelaerts
f5295555db faac: refactor slightly and remove superfluous code 2009-09-01 10:50:22 +02:00
Mark Nauwelaerts
9a8d62a775 faac: freshen up caps negotiation
Perform sink and src caps negotiation during caps negotation,
and also cater for re-negotiation.
2009-09-01 10:50:22 +02:00
Mark Nauwelaerts
f81b1e7a4a faac: rewrite data caching and timestamp handling
Also fixes #593348.
2009-09-01 10:49:58 +02:00
Wim Taymans
d806622622 wildmidi: cleanup error handler 2009-08-31 18:48:04 +02:00
Wim Taymans
dd1b692561 wildmidi: free the adapter 2009-08-31 18:48:04 +02:00
Wim Taymans
5c6ddc8ff2 wildmidi: cleanups 2009-08-31 18:48:04 +02:00
Wim Taymans
42b9415024 wildmidi: allow for push mode operation
Fixes #586929
2009-08-31 18:48:04 +02:00
Wim Taymans
53f654150b wildmidi: use state machine
Use a state machine to keep track of the current state.
Add chain function and event function on the sinkpad.
Remove some unused code.
2009-08-31 18:48:04 +02:00
Wim Taymans
2127cf3e8c wildmidi: remove useless function calls 2009-08-31 18:48:04 +02:00
Wim Taymans
25caf9f743 wildmidi: set caps on pad
Set the caps on the pad and use those caps instead of keeping a separate caps
pointer around.
Fix some whitespace.
2009-08-31 18:48:03 +02:00
Wim Taymans
4ef773164a wildmidi: fix whitespace 2009-08-31 18:48:03 +02:00
Tim-Philipp Müller
ead987e47d kate: fix typo in Makefile.am
GST_PLUGIN_BASE_LIBS should be GST_PLUGINS_BASE_LIBS. Fixes #593683.
2009-08-31 16:08:05 +01:00
Tim-Philipp Müller
10d67eda7a GstAdapter is not a GstObject and should be freed with g_object_unref() 2009-08-31 13:14:02 +01:00
Sebastian Dröge
de1f057725 rsvg: Add RSVG SVG decoder plugin
This supports
  - decoding single SVG images and a stream of SVG images with a given framerate
  - lossless scaling of SVG images
  - ARGB output
2009-08-31 09:13:53 +02:00
Sebastian Dröge
55cdea8e7a assrender: Fix compilation with libass >= 0.9.7 and fix aspect ratio setting
Fixes bug #575261.
2009-08-31 09:11:34 +02:00
Sebastian Dröge
07bd0d87aa rsnstreamselector: Use iterate internal links instead of deprecated get internal links 2009-08-31 08:14:10 +02:00
Arek Korbik
f1c4bdf5be schroenc: set right OFFSET and OFFSET_END on header buffers to make oggmux happy
Without this oggmux will just keep buffering output pages in some cases.

Fixes #593024.
2009-08-26 00:26:42 +01:00
Руслан Ижбулатов
09b2abf87b resindvd, rawparse: fix LDFLAGS for gst-plugins-base libs
Fixes #593063.
2009-08-25 23:55:41 +01:00
Tim-Philipp Müller
d652fff690 amrwbenc: use different element GType name to avoid conflict with previous plugin
Use a different GType name for the element to avoid 'cannot register existing type'
warnings when running 'make check' in the unpacked tarball with the old amrwb plugin
also installed as system plugin under the old name (it used to be called 'amrwrb'
and now it's 'amrwbenc').
2009-08-24 18:20:32 +01:00
Olivier Crête
4f3363af4d mimenc: Write FOURCC as 32bit 2009-08-18 15:48:09 -04:00
Olivier Crête
4f61f46f07 mimenc: USE GST_WRITE_*_LE macros 2009-08-12 17:35:14 -04:00
Olivier Crête
6001c6b5c0 mimenc: Refuse to go playing in paused-mode without clock
Only try to use the clock in if paused-mode is set and refuse to go playing
in paused-mode without it.

Fixes bug #591538
2009-08-12 17:35:14 -04:00
Tim-Philipp Müller
20a4c32a0b kateenc: error out if category has not been set and check for obviously wrong values 2009-08-11 12:42:28 +01:00
Tim-Philipp Müller
e591dcd64c spc: fix typo in Makefile.am and build the right plugin (spc not gme) 2009-08-10 13:26:13 +01:00
Sebastian Dröge
531ce4228d spc: Lower rank to SECONDARY to make the gme plugin the default 2009-08-08 21:20:30 +02:00
Sebastian Dröge
8ad3f14873 spc: Add the OpenSPC spc plugin again
The gme plugin obsoletes it but it might still be useful
for users that don't have gme yet or prefer openspc for some reason.
2009-08-08 21:20:30 +02:00
Tim-Philipp Müller
24217ee31a kate: some minor clean-ups
Print flow return as string in log message; if we check the return
value of gst_buffer_new_and_alloc() we should use the _try() function
that might actually return NULL. Post error message when returning
GST_FLOW_ERROR. Use portable GLib macros to print 64-bit integers.
Don't use 0LL, that's also not portable (and unneeded here).
2009-08-08 12:49:01 +01:00
Sebastian Dröge
782965be9f gmedec: Use GstAdapter instead of many buffer joins
This reduces the number of reallocations and memcpys drastically.

Also free the input data as soon as it's complete and passed to GME
as it's not needed anymore.
2009-08-07 14:47:30 +02:00
Sebastian Dröge
27efe0067c gmedec: Add caps for all supported file formats to the srcpad template 2009-08-07 09:21:04 +02:00
Sebastian Dröge
9d9fa0a31d gme: Don't add empty string tags 2009-08-07 07:23:07 +02:00
Sebastian Dröge
cf0c65b72c gme: Fix caps name again 2009-08-07 07:01:11 +02:00
Sebastian Dröge
359c780830 gme: Rename everything from SPC to GME 2009-08-07 06:59:55 +02:00
Sebastian Dröge
7ddfae8a4a spc: Really remove old SPC code 2009-08-07 06:59:41 +02:00
Sebastian Dröge
e3cc127692 gme: Use gme for tags and duration parsing 2009-08-07 06:56:54 +02:00
Sebastian Dröge
c57eca3f0b spc: Rename SPC plugin to GME
as preparation for enabling support for non-SPC gaming console sound files.
2009-08-07 06:41:43 +02:00
Sebastian Dröge
e268bd6e28 spcdec: Forward all unknown src events upstream and don't restrict to SPC 2009-08-06 21:42:02 +02:00
Sebastian Dröge
de03453f6d spc: Make the SPC plugin work with the latest libgme release
gme_enable_accuracy() was added in SVN trunk and is not yet
in any release.
2009-08-04 10:18:46 +02:00
Michael Pyne
4394b1a61c spc: Use the portable libgme instead of x86-only OpenSPC library
This will later allow us to play other gaming console files
that are supported by libgme.

Fixes bug #576800.
2009-08-04 10:06:54 +02:00
Sebastian Dröge
d6bb14dade amrwbenc: Fix compilation 2009-07-27 20:02:37 +02:00
Iago Toral
29e3908032 amrwb: Remove AMR-WB parser and decoder and rename encoder plugin from amrwb to amrwbenc
Partially fixes bug #584890.
2009-07-27 20:02:37 +02:00
Tim-Philipp Müller
a20d86f1f5 kate: break up macros into multiple lines 2009-07-25 12:19:07 +01:00
Vincent Penquerc'h
aaed93e126 kate: use GST_ELEMENT_ERROR for error reporting
See #525743.
2009-07-25 12:13:40 +01:00
Sebastian Dröge
7de65d974e musepackdec: Implement SEEKING query 2009-07-24 07:41:57 +02:00
Olivier Crête
e8c8725efe mimdec: Lock element before unlocking 2009-07-22 15:58:02 -04:00
Olivier Crête
22b95ab4cd mimdec: Fix leaks
Use gst_pad_new_from_static_template() to not leak the pad template
Also properly chain up the finalize to the parent
2009-07-22 15:58:02 -04:00
Olivier Crête
8f1301390d mimenc: Use gst_pad_new_from_static_template
Prevents leak found by valgrind
2009-07-22 15:58:01 -04:00
Olivier Crête
a99348170e mimenc: Unref clockid 2009-07-22 15:58:01 -04:00
Olivier Crête
297ab50ca1 mimdec: Don't overwrite valid timestamps 2009-07-22 15:57:59 -04:00
Olivier Crête
5fe455e28f Revert "mimdec: Ignore the timestamps inside the buffers"
This reverts commit 5e051fa98a.
2009-07-22 14:54:00 -04:00
Olivier Crête
b61f931d87 mimenc: Ignore errors pushing out new segments
The following buffer push will return more valuable information.
2009-07-22 14:19:18 -04:00
Stefan Kost
87a97e24d4 docs: add docs for ladspa and update plugin docs
Add also inspect files for lv2 and frei0r (no docs yet).
2009-07-22 18:04:18 +03:00
Stefan Kost
60fa2e2cce make: remove whitespace after trailing backslash 2009-07-21 17:52:32 +03:00
Vincent Penquerc'h
65b873df34 kate: fix time conversion from DVD style timestamps. 2009-07-21 12:57:31 +01:00
Tim-Philipp Müller
af54a9afba kate: use new GST_TAG_SUBITLE_CODEC tag instead of GST_TAG_CODEC 2009-07-21 01:06:19 +01:00
Tim-Philipp Müller
ced14a1ff7 katedec: only put primary language tag in GST_TAG_LANGUAGE
Only put primary language into GST_TAG_LANGUAGE, and convert to lower case,
ie. only use "en" of "en_GB". This is per our tag documentation and hence
what apps expect. Also add example to kateenc property description so people
know a language code is wanted here.
2009-07-21 01:02:06 +01:00
Tim-Philipp Müller
b04587f4f7 katedec: add comment why we dont' support application/x-kate here for now 2009-07-21 00:04:28 +01:00
Vincent Penquerc'h
7ae5022cee katedec: create SPU format images from suitable background images
Make katedec fabricate dvd-style subpictures for subtitle overlay
bitmaps, for easier playbin2 integration (#588638).
2009-07-21 00:01:17 +01:00
ogg.k.ogg.k
265b75ca38 kate: fix some minor memory leaks
Makes 'make check-valgrind' work for the kate unit test (#525743)
2009-07-20 23:45:47 +01:00
Stefan Kost
51e022d288 metadata: don't dereference the pointer before the validity check 2009-07-20 16:42:43 +03:00
Vincent Penquerc'h
a7c64556ff kateenc: also recognise the new recommended 'SUB' category
Move the check for 'simple' subtitles category to a separate routine
and add in the new recommended SUB category (#525743).
2009-07-20 13:25:11 +01:00
Vincent Penquerc'h
9db1323d31 kateenc: keep bitmap/palette/region around when on the spot encoding is not possible due to an unknown end time
Fixes valgrind unitialized value report. See #525743.
2009-07-20 11:59:40 +01:00
Tim-Philipp Müller
4728d7f18e kate: add some FIXMEs 2009-07-19 23:35:05 +01:00
Tim-Philipp Müller
faf2d04696 katedec: demote to GST_RANK_NONE for now
There are still some autoplugging issues to sort out, and it needs
some testing.
2009-07-19 23:32:07 +01:00
Tim-Philipp Müller
3f347c7edd kate: make sure to free some more stuff 2009-07-19 23:16:07 +01:00
Tim-Philipp Müller
71efbb1e73 kate: fix up for additional subtitle/x-kate media type 2009-07-19 22:29:19 +01:00
Tim-Philipp Müller
71e6bbd19f kate: remove local kate typefinder, use the one in -base 2009-07-19 16:04:33 +01:00
Tim-Philipp Müller
ce0d40b634 kate: change media type to subtitle/x-kate and update define accordingly 2009-07-19 16:04:32 +01:00
Vincent Penquerc'h
e88984ccbd add new Kate plugin, for Kate overlay streams
katedec: Kate decoder (text only)
kateenc: Kate encoder (text and DVD SPU only)
katetag: Kate tagger
kateparse: Kate parser
tiger: Kate renderer using the Tiger rendering library

Fixes #525743.
2009-07-19 16:04:32 +01:00
Stefan Kost
4307be631d metadata: reset state if there is something to reset
The condition was wrong and as such the element was writing the same tags on subsequent
images if reused.
2009-07-17 15:50:19 +03:00
Olivier Crête
ff907b11b6 mimenc: Don't pretend to be ML20 if paused 2009-07-16 17:27:09 -04:00
Olivier Crête
5e051fa98a mimdec: Ignore the timestamps inside the buffers 2009-07-16 16:06:26 -04:00
Olivier Crête
cee75e2c89 mimdec: Don't try to parse the header before dropping the paused frames 2009-07-16 15:47:08 -04:00
Olivier Crête
8eac8701ff mimdec: Print the incoming fourcc on errors 2009-07-16 15:47:08 -04:00
Zeeshan Ali (Khattak)
1b246c72d1 Add more debug output to metadatamux 2009-07-16 18:15:31 +03:00
Jan Schmidt
4109c2193f metadata: Fix some compiler warnings
Cast some debug string parameters so that they don't cause mismatched
type warnings.
2009-07-15 18:28:47 +01:00
Stefan Kost
b3232301da metadata: fix copy'n'paste in tag description 2009-07-14 10:46:05 +02:00
David Schleef
969fbce46e schro: Add enum types for schroedinger settings 2009-07-13 18:04:14 -07:00
Jan Schmidt
6fd890d65f resindvd: Don't send empty language code strings
Ignore empty language codes on some poorly coded DVDs, rather than
setting empty strings into our outgoing taglist.
2009-07-13 19:30:50 +01:00