Sebastian Dröge
7c6c74e4a3
pango: Unpremultiply Cairo's ARGB to match GStreamers ARGB
2009-10-01 11:41:16 +02:00
David Schleef
f126617dbd
oggdemux: Fix duration calculation for truncated files
...
If the last page of a stream has a granulepos of -1, that is,
it doesn't complete a packet, we need to continue to search
for the last granulepos.
2009-09-13 10:58:12 -07:00
Jan Schmidt
39c21352e9
theoraenc: Fix a string leak in _getcaps()
2009-09-12 02:24:49 +01:00
Sebastian Dröge
ce51263142
oggdemux: Handle kate and cmml as sparse streams too
2009-09-10 10:16:56 +02:00
Tim-Philipp Müller
3a38a0958e
oggdemux: Better handling of sparse streams by sending segment updates
...
Fixes bug #397419 .
2009-09-10 10:16:56 +02:00
Sebastian Dröge
2aa0899a84
theoraenc: Print a debug message with supported formats
2009-09-09 16:45:55 +02:00
Benjamin Otte
d9c9852764
theora: Check supported input formats in getcaps function
...
We want to fail early when an older libtheora release is used that does
not support Y444 or Y42B formats, so use a getcaps function that does
this.
2009-09-09 16:45:55 +02:00
Benjamin Otte
aa46e56170
theora: Implement support in theoraenc for Y444 and Y42B
...
Fixes bug #594165 .
2009-09-09 16:45:54 +02:00
Benjamin Otte
96388221cf
theora: Refactor the buffer copy code
2009-09-09 16:45:54 +02:00
Benjamin Otte
bac05fbf6f
theora: Split yuv_buffer creation into its own function
2009-09-09 16:45:54 +02:00
Benjamin Otte
c1ead16f71
theora: Split out buffer resize in its own function
2009-09-09 16:45:54 +02:00
Benjamin Otte
9d4f72f2fa
theora: Add assertions that functions don't fail
...
Some functions in libtheora can return an error, but that error cannot
ever happen inside theoraenc. In those cases assert that it doesn't.
2009-09-09 16:45:53 +02:00
David Schleef
0e9bc5125a
Remove Ronald Bultje from Authors field
...
Replaced with "GStreamer maintainers
<gstreamer-devel@lists.sourceforge.net>" or just removed,
depending on the number of other authors.
2009-08-24 11:37:01 -07:00
Tim-Philipp Müller
099989ff0f
oggmux: don't drop the streamheader field from the output caps
...
Revert previous 'fix' for bug #588717 and fix it properly, whilst
maintaining the streamheader field on the output caps. Also make
sure we don't leak header buffers we couldn't push when downstream
is unlinked. Add unit test for the presence of the streamheader
field on the output caps and for the issue from bug #588717 .
2009-08-20 13:14:19 +01:00
Edward Hervey
76044dce6d
ext: Remove dead assignments and resulting unused variables.
2009-08-08 15:54:41 +02:00
Tim-Philipp Müller
6a5af299b0
Revert "theora: Convert theoradec to libtheora 1.0 API"
...
This reverts commit f1e142ac9d
.
Temporarily revert until we have a workaround for debian/ubuntu
packaging failure (see http://bugs.debian.org/528710 ).
2009-08-07 08:53:44 +01:00
Tim-Philipp Müller
16cad126f0
oggmux: fix warning when we're not linked downstream and error out properly
...
Fix caps warning when there's no element linked downstream, and pass
not-linked flow return value correctly up the chain, so we error out
correctly. Fixes #588717 .
2009-08-07 00:58:36 +01:00
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