David Schleef
f1e142ac9d
theora: Convert theoradec to libtheora 1.0 API
2009-08-06 13:45:56 -07:00
Sebastian Dröge
6776cb445e
textrender: Fix blitting of text over the output buffer and cairo painting
2009-08-06 20:47:33 +02:00
Sebastian Dröge
cc61c9e27e
textrender: Fix endianness problems (i.e. make it work again on big endian architectures)
2009-08-06 14:55:07 +02:00
Wim Taymans
caf3d8d480
textoverlay: make buffer writable
...
Make the input buffer writable before changing its contents.
2009-08-06 12:01:10 +02:00
Sebastian Dröge
8212924489
pango: Send queries from the srcpad directly to the video sinkpad
2009-08-06 06:43:39 +02:00
Sebastian Dröge
8c874a7ff3
pango: Add support for xRGB and BGRx formats
2009-08-06 06:43:38 +02:00
Sebastian Dröge
67954aeba3
pango: Fix endianness issues from the pangocairo switch
...
cairo's ARGB is in native endianness, i.e. ARGB on big endian architectures
and BGRA on little endian architectures.
2009-08-06 06:43:37 +02:00
Sebastian Dröge
18a5264c87
pango: Re-add shading support which was dropped by a previous patch
2009-08-06 06:43:37 +02:00
Sebastian Dröge
20b84cda60
pango: Check if pangocairo supports vertical rendering and fix properties
2009-08-06 06:43:37 +02:00
Sebastian Dröge
d3baacc32a
textrender: Use PROP_X instead of ARG_X consistently
2009-08-06 06:43:37 +02:00
Sebastian Dröge
8aa87c9153
pango: Some minor cleanup
2009-08-06 06:43:36 +02:00
Young-Ho Cha
7608c31516
pango: Use pango-cairo instead of pango-ft2
...
pango-cairo will always use the native font rendering backend
of the platform and provides better results.
Fixes bug #340887 .
2009-08-06 06:43:36 +02:00
Balachandran C
01e0fdd86c
alsasrc: set alsasrc->handle back to NULL when closing device
...
Fixes crashes in gst_alsa_find_device_name() when probing or
reading the device-name property (e.g. when doing a dot-file
dump). Fixes #589797 .
2009-07-27 14:18:27 +01:00
Edward Hervey
47d40c2553
vorbisdec: Check for empty tag strings. Fixes #588724
2009-07-16 14:15:19 +02:00
Vincent Penquerc'h
0a5d5206f3
oggmux: add Kate caps to the list of accepted types
...
See #525743 .
2009-07-13 22:59:11 +01:00
Sebastian Dröge
f9494bc38b
gio: Also post a "not-mounted" message from giosink
2009-07-10 19:16:35 +02:00
Sebastian Dröge
d5154874cb
gio: Add documentation for the new "not-mounted" and "file-exists" messages
2009-07-10 11:24:05 +02:00
Sebastian Dröge
b9c79380aa
gio: Make sure that we have the correct stream position when starting
2009-07-09 13:45:13 +02:00
Sebastian Dröge
f93b9df83d
gio: Make sure to flush the output stream if it shouldn't be closed
...
Otherwise there might still be unwritten data after the element
has stopped.
2009-07-08 17:24:19 +02:00
Sebastian Dröge
1c0123cf58
gio: Don't close the GIO streams for the giostream{src,sink} elements
...
This makes it possible to do something useful with the streams
after the element has stopped. Fixes bug #587896 .
2009-07-08 17:19:29 +02:00
Sebastian Dröge
3116198fc3
gio: Improve the error message if a stream is already closed before usage
2009-07-08 17:02:54 +02:00
Sebastian Dröge
6025412707
gio: Post a custom file-exists message on the bus if the file already exists
...
An application can handle this message, remove the file in question
and restart the pipeline again without showing an error.
This fixes bug #529300 .
2009-07-08 16:55:41 +02:00
Sebastian Dröge
7228ba6acd
gio: Use OPEN_READ instead of NOT_FOUND if a location is not mounted
2009-07-08 16:54:56 +02:00
Sebastian Dröge
a8896413a0
gio: Use OPEN_WRITE instead of OPEN_READ as error category in giosink
2009-07-08 16:50:56 +02:00
Sebastian Dröge
ce08823dc5
gio: Post a custom "not-mounted" message on the bus
...
This allows applications to mount the GFile if possible and restart
the pipeline instead of simply giving an error.
2009-07-08 15:52:35 +02:00
Sebastian Dröge
7e72ceb3f2
gio: Add vfunc for requesting the stream for the sinks too
2009-07-07 20:23:23 +02:00
Sebastian Dröge
7483a4834c
gio: Some more random cleanup
2009-07-07 20:21:36 +02:00
Sebastian Dröge
b81f957bfc
gio: Update my mail address and copyright
2009-07-07 20:20:58 +02:00
Sebastian Dröge
160b70e841
gio: General clean up and simplification
...
The GInputStreams are now requested by a vfunc from
the subclasses instead of relying that the subclass
sets it until it's needed.
This might also fix bug #587896 .
2009-07-07 20:18:00 +02:00
Hans-Peter Nilsson
04e23f2d6a
pango: Call tzset() before localtime_r()
...
POSIX and your local friendly ctime(3) manual entry says that localtime_r isn't
required to set the state variables that define the current timezone. Indeed,
glibc (at least 2.9) doesn't do this for subsequent calls. The effect is that
if the system timezone is changed for a running program between two calls to
gst_clock_overlay_render_time, it won't be noticed. For glibc, changing the
timezone equals /etc/localtime being modified.
Fixes bug #587676 .
2009-07-05 18:01:38 +02:00
David Schleef
8937c89551
build: remove spurious schroedinger reference
2009-07-01 17:33:14 -07:00
David Schleef
530cb7268b
basevideo: send basevideo back to remedial school
...
Move basevideo classes and schroedinger plugin to -bad.
2009-07-01 10:27:30 -07:00
Tim-Philipp Müller
b20b375180
cdparanoia: run-time license is LGPL now that we require cdparanoia 0.10.2
...
cdparanoia has an LGPL v2.1 license since 0.10.1 and we now require 0.10.2.
Finally fixes #531035 .
2009-06-19 22:21:03 +01:00
Tim-Philipp Müller
4e1086f93b
cdparanoia: try to guess a good cache size if it's set to -1
...
Try to guess from the paranoia-mode setting whether playback or
ripping is wanted, and use a smaller cache size if we're likely
to be doing playback, to avoid a long startup delay. Since this
was the value used in older cdparanoia versions, it should be
fine in any case. See #586331 .
2009-06-19 22:21:03 +01:00
Jonathan Matthew
9daee1f4a9
cdparanoia: expose cache size setting
...
This setting was added in cdparanoia 10.2. The default value is good
for audio extraction, but lower values (previous versions of cdparanoia
used 150) are better for realtime playback.
Fixes #586331 .
2009-06-19 22:21:03 +01:00
Tim-Philipp Müller
12134979a2
oggdemux: post/send tags with the container-format tag
...
For this to work properly, theoradec and vorbisdec need to put
tag events received from upstream into the pending_events list
so they get pushed out after any newsegment event, not before.
2009-06-14 22:13:41 +01:00
Wim Taymans
acdb88ec6f
oggdemux: do reverse seeks more accurate
...
For reverse seeking with the accurate flag set, try to be more precise by
seeking a little bit after the requested position.
2009-06-12 13:44:26 +02:00
Tim-Philipp Müller
9ca2bf36de
subparse, ogmparse: post tags with GST_TAG_SUBTITLE_CODEC
...
Make subtitle parsers post a taglist with codec tags, so the application
knows what kind of subtitle a subtitle stream is. Fixes #576552 .
2009-06-11 22:32:28 +01:00
LRN
30103e736d
Added libgstbase to schro's LIBADD
...
Fixes #585079
2009-06-07 22:01:50 +02:00
Tim-Philipp Müller
20fb58be19
vorbisdec: don't put invalid bitrate values into the taglist
...
Bitrates are stored as 32-bit signed integers in the vorbis
identification headers, but seem to be read incorrectly,
namely as unsigned 32-bit integers, into the vorbis structure
members which are of type long, which makes our check for
values <= 0 fail with files that put -1 in there for unset
values.
2009-06-03 20:42:39 +01:00
Alessandro Decina
bb1561644f
theoraparse: fix assertions in make_granulepos when using the new theora granulepos mapping. Fixes #583903 .
2009-05-26 23:32:48 +02:00
Wim Taymans
f0bb7874a7
oggdemux: fix boundary case for seeking.
...
When we have exactly 0 bytes left to search, make sure we stop instead of going
into an infinite loop.
2009-05-26 13:14:07 +02:00
David Schleef
27cb39b028
schro: Fix usage of adapter_masked_scan_uint32
...
Because *somebody* changed the API without telling me.
2009-05-22 21:27:58 -07:00
David Schleef
62002aead9
schro: Change package name to GST_PACKAGE_NAME
2009-05-22 21:25:06 -07:00
Wim Taymans
d1c73bd00f
vorbisdec: detect and report errors better
...
Check the return values of a couple more libvorbis functions and post an error
when something is wrong instead of continuing and crashing.
2009-05-22 17:41:50 +02:00
Wim Taymans
ed36eafaba
oggdemux: don't loop when at EOS
...
When we try to read the last page, don't try to read past the upper boundary, as
this might cause endless loops.
See #582942
2009-05-19 12:45:59 +02:00
Michael Smith
94ca1b005e
theoradec: for 4:2:2, use Y42B (planar) rather than a packed format.
2009-05-18 22:34:22 -07:00
David Schleef
0f1c5c1b68
schro: Move schro plugin from Schroedinger
...
Previous history is in Schroedinger. Depends on, and is an example
of using, GstBaseVideo* base classes.
Code was reindented, and an #ifdef HAVE_ENCODER removed.
2009-05-15 16:18:59 -07:00
Sebastian Dröge
c3b28a9bff
vorbisenc: Implement Preset interface
2009-05-15 16:27:41 +02:00
Sebastian Dröge
bcd0aee3f5
theoraenc: Implement Preset interface
2009-05-15 16:27:40 +02:00
Sebastian Dröge
2ea16837e7
oggmux: Implement Preset interface
2009-05-15 16:27:40 +02:00
Wim Taymans
117686abc5
visual: remove next_ts variable
...
We can remove the next_ts variable as we don't use it anymore.
2009-05-13 19:27:54 +02:00
Wim Taymans
6eb549ab92
visual: use new adapter timestamp code
...
Use the new adapter timestamp tracking code to make things easier and produce
vastly better output timestamps.
2009-05-13 19:24:15 +02:00
Christian Schaller
705e7750c5
Add ranks to the Oggmuxer, Vorbis encoder and Theora encoder
2009-05-12 12:17:55 +01:00
Wim Taymans
6cee823237
oggmux: small debug statement in DISCONT
2009-05-12 10:46:35 +02:00
Wim Taymans
7e43c10754
oggdemux: fix abuse of ogg API, handle broken oggs
...
When we feed the ogg sync layer, we need to feed it contiguous data even if the
sync layer did not consume all of it yet. This makes sure that it always finds
the next page even for more corrupted files. Use a different read_offset for
this purpose. since we now keep track of the sync layer, we don't have to reset
after finding a start of a page.
Add some more debug info for the error paths.
Only reset the sync layer when we perform a seek operation.
Avoid failure when the next chain has no bos pages but instead simply ignore it.
when we receive unknown page serial numbers mid stream, don't fail but post a
warning and hope that we get back on track later.
Fixes #579642
2009-05-12 10:44:17 +02:00
Sebastian Dröge
1d4ba53259
textrender: Correctly initialize the background for ARGB too
2009-05-12 09:03:24 +02:00
Sebastian Dröge
204c327b23
textrender: Use libgstvideo functions to create caps
...
Also check if downstream wants ARGB always when we get
new caps.
2009-05-12 09:03:23 +02:00
Sebastian Dröge
4f5502a896
textrender: Don't always use ARGB if downstream supports it but take it's preference
2009-05-12 09:03:23 +02:00
Kapil Agrawal
2ddf7c8e13
textrender: Add support for ARGB and alignment properties
...
Fixes bug #581571 .
2009-05-12 09:03:23 +02:00
Sebastian Dröge
ce95857718
textrender: Add ; after GST_BOILERPLATE to fix indention
2009-05-12 09:03:23 +02:00
Michael Smith
21c52af2b3
theoradec: fix buffer overrun on 422 decode.
2009-05-10 18:08:13 -07:00
Michael Smith
c94a36bff4
theoradec: 444 support.
2009-05-10 18:08:13 -07:00
Michael Smith
62b571b93b
theoradec: handle 422 images (as YUY2).
2009-05-10 18:08:13 -07:00
Michael Smith
a91b7f0857
theoradec: rearrange code in preparation for 422 and 444 support.
2009-05-10 18:08:12 -07:00
Zaheer Merali
1650272b84
vorbisenc, theoraenc: Ensure gp is computed consistently + clip to segment
...
With vorbisenc, compute the granulepos with running time and clip incoming
buffers to segment.
With theoraenc, drop out of segment buffers.
2009-05-06 13:19:34 +01:00
Jan Schmidt
d14c80b22e
vorbisenc: Ensure output buffers fall within the segment
...
Add the start position of the first segment to the running time
used to generate buffer timestamps in vorbisenc. This avoids generating
buffers which fall outside the initial segment. The element segment
handling requires more extensive fixing, but this at least prevents
regressions. Fixes : #580020
2009-04-29 16:48:45 +01:00
Olivier Crete
c628641880
theoraenc: implement upstream keyframe force
...
Implement handling of upstream keyframe forcing.
Update the design documents too.
Fixes #578656
2009-04-14 18:21:45 +02:00
Olivier Crete
d0c3682627
theoraenc: factor out keyframe forcing
...
See #578656
2009-04-14 18:21:45 +02:00
Edward Hervey
219fe22293
theoradec: return GST_CLOCK_TIME_NONE for negative framecounts.
...
This fixes most seeking issues when used with gnonlin.
Fixes #543591
2009-04-04 15:47:17 +02:00
Tim-Philipp Müller
9938003bd1
alsamixer: don't forget to release locks in a few places
...
Might fix #576585 .
2009-04-02 10:44:25 +01:00
Sebastian Dröge
f1bc9e97aa
textoverlay: Fix drawing of UYVY text borders
2009-03-26 11:02:41 +01:00
Zeeshan Ali
e54e10ad19
textoverlay: Add support for UYVY colorspace
...
Fixes bug #378094 .
2009-03-26 10:36:27 +01:00
Edward Hervey
b7fdb7c6d7
theoradec: Use GST_CLOCK_TIME_NONE for invalid positions. Fixes #543591
...
The problem was that previously we didn't check whether _theora_granule_frame
returned a negative framecount or not, resulting in bogus timestamps.
2009-03-23 11:38:53 +01:00
René Stadler
9f0e053f6e
vorbisenc: Set caps on non-header ouput buffers.
...
Fixes #576142 .
2009-03-21 09:47:23 +01:00
Wim Taymans
4e11b596cb
oggdemux: report -1 for duration in push mode
...
In push mode we must return TRUE from the duration query with a value of -1
meaning that we know that we don't know the duration.
2009-03-17 19:53:44 +01:00
Wim Taymans
e863e4ed1b
vorbisparse: be smarter when queueing headers
...
Look at the first buffer byte to see if a buffer is a header instead of counting
packets.
2009-03-13 15:29:29 +01:00
Wim Taymans
9def0d8c61
theoraparse: be smarter when queuing headers
...
Look at the first byte of the buffer data (if we can) to decide if the packet is
a header packet or not instead of counting packets.
2009-03-13 15:27:51 +01:00
Wim Taymans
51b5f33c3c
oggdemux: add some debug info
...
Add some debug info to log when the seek worked.
2009-03-13 15:26:40 +01:00
Jan Schmidt
77874292a3
vorbisdec: Avoid an unnecessary memory allocation in vorbiscomment handling.
2009-03-13 11:49:10 +00:00
Jan Schmidt
e7d4250fc3
theoradec: Avoid an unnecessary memory allocation in vorbiscomment handling.
2009-03-13 11:48:28 +00:00
Wim Taymans
fac1d4cc09
theoradec: parse and use codec_data in the caps
...
Parse the codec_data in the caps and use this as the headers.
Fixes #574169 .
2009-03-06 19:02:58 +01:00
LRN
95c838f051
gio: Use correct format modifier for size_t
...
Fixes bug #573528 .
2009-02-28 19:37:53 +01:00
Stefan Kost
3d0c70d3d8
alsa: release pcminfo after the strdup
2009-02-27 11:14:25 +02:00
Stefan Kost
c074e84360
alsa: cleanup name lookup.
...
We can break, once we have a name to make sure, we won't read it ever twice.
2009-02-26 18:01:05 +02:00
Stefan Kost
e95bbca65f
giosink: reflow error handling to not leak uri
2009-02-26 18:01:04 +02:00
Sebastian Dröge
dc9a1b945b
vorbis: Rename vorbis*.h to gstvorbis*.h to prevent name conflicts
2009-02-24 14:36:39 +01:00
Sebastian Dröge
2ab2bbd82c
theoraparse: Use the correct unref functions
2009-02-22 19:19:04 +01:00
Benjamin M. Schwartz
d8a33f094c
theoraenc: Add property for speed level control
...
Add property "speed-level" to control the amount of motion searching
the encoder does. This is only available in libtheora >= 1.0 and
will silently fail with earlier libraries. Fixes : #572275 .
Signed-off-by: David Schleef <ds@schleef.org>
2009-02-19 12:38:57 -08:00
Antoine Tremblay
fc23037a9a
alsamixer: Fix race condition that made alsamixer not working properly
...
This is due to race conditions between functions that
modified the mixer like set_volume and
snd_mixer_handle_events since the handle_events
can now be called at any time.
Fixed by adding locking around any snd_mixer call
since even read functions can modify the mixer stucture, since
alsa likes to clear it's values before reading new ones.
The favorite race condition seemed to be that set_volume
called read_elem (in alsalib) that reset the volumes to
0 and then read them with read_x_volume. This read looped
on each channel and as the race condition occured the
channels value could be anything , most of the time
it was 0. Thus no value was read or only the value of
one channel was and the volume was reset to 0.
Fixes bug #478512 .
2009-02-10 11:00:12 +01:00
Jan Schmidt
9fbf201167
Fix include order for gio plugin
2009-01-26 23:32:09 +00:00
Wim Taymans
64b20fd7b5
Use rounded values for image strides and sizes
...
Round up the height before calculating the expected size and
strides of the output image.
2009-01-23 11:27:16 +01:00
Wim Taymans
eb33188fba
Improve debug message
...
Improve the debug message when alsa returns an error.
2009-01-23 11:23:09 +01:00
Sebastian Dröge
b6b860f9a4
Add plugin dependency for the GIO and GVfs modules.
...
Original commit message from CVS:
* configure.ac:
* ext/gio/gstgio.c: (plugin_init):
Add plugin dependency for the GIO and GVfs modules.
Fixes bug #566876 .
2009-01-07 18:36:04 +00:00
Sebastian Dröge
54910e9253
Add plugin dependency for the gnomevfs modules.
...
Original commit message from CVS:
* configure.ac:
* ext/gnomevfs/gstgnomevfs.c: (plugin_init):
Add plugin dependency for the gnomevfs modules.
Fixes bug #566875 .
2009-01-07 18:32:33 +00:00
Tim-Philipp Müller
be87292514
Use new core API to make registry re-scan the plugin whenever visualisations are added or removed (see #350477 ).
...
Original commit message from CVS:
* configure.ac:
* ext/libvisual/visual.c: (plugin_init):
Use new core API to make registry re-scan the plugin
whenever visualisations are added or removed (see #350477 ).
2009-01-06 18:03:51 +00:00
Sebastian Dröge
7e58fe30f5
ext/: Implement URI query. Fixes bug #562949 .
...
Original commit message from CVS:
* ext/gio/gstgiobasesink.c: (gst_gio_base_sink_query):
* ext/gio/gstgiobasesrc.c: (gst_gio_base_src_class_init),
(gst_gio_base_src_query):
* ext/gnomevfs/gstgnomevfssink.c: (gst_gnome_vfs_sink_query):
* ext/gnomevfs/gstgnomevfssrc.c: (gst_gnome_vfs_src_class_init),
(gst_gnome_vfs_src_query):
Implement URI query. Fixes bug #562949 .
2008-12-20 17:38:41 +00:00
Edward Hervey
a3c1a0507a
ext/vorbis/vorbisenc.c: Make vorbisenc's pad template behave like vorbisdec's. Fixes a leak with pad templates.
...
Original commit message from CVS:
* ext/vorbis/vorbisenc.c: (gst_vorbis_enc_base_init),
(gst_vorbis_enc_init):
Make vorbisenc's pad template behave like vorbisdec's. Fixes a leak with
pad templates.
2008-12-12 07:17:21 +00:00
Wim Taymans
1ab0f8da50
ext/ogg/gstoggdemux.c: Use G_DEFINE_TYPE for the OggPad to get some threadsafe type init from glib.
...
Original commit message from CVS:
* ext/ogg/gstoggdemux.c: (gst_ogg_pad_class_init),
(gst_ogg_pad_dispose), (gst_ogg_pad_finalize):
Use G_DEFINE_TYPE for the OggPad to get some threadsafe type
init from glib.
2008-12-10 14:55:10 +00:00
Wim Taymans
bae0d688dd
ext/ogg/gstoggdemux.c: If no stream was found before receiving EOS, post an error message.
...
Original commit message from CVS:
* ext/ogg/gstoggdemux.c: (gst_ogg_demux_sink_event):
If no stream was found before receiving EOS, post an error message.
Fixes #561924 .
2008-11-25 15:28:36 +00:00