Vincent Penquerc'h
a5c64d5b97
oggdemux: minor cleanup
2011-11-24 17:12:56 +00:00
Vincent Penquerc'h
b0bb1d3539
oggdemux: skip the second bisection when possible
...
If we already saw the keyframes that we need to find,
we do not need to bisect to find them.
This will always be the case for streams with audio only,
where each frame acts as a keyframe, but will occasionally
also happen for streams with video.
https://bugzilla.gnome.org/show_bug.cgi?id=662475
2011-11-24 10:48:48 +01:00
Vincent Penquerc'h
e7079cd8d5
oggdemux: improve push time seeking
...
Various tweaks to improve convergence, in particular for
the worst case, which is now cut in about half.
https://bugzilla.gnome.org/show_bug.cgi?id=662475
2011-11-24 10:48:32 +01:00
Vincent Penquerc'h
db21375406
oggdemux: gather some more stats about bisection
...
https://bugzilla.gnome.org/show_bug.cgi?id=662475
2011-11-24 10:48:15 +01:00
Vincent Penquerc'h
dbd694c7c4
vorbisenc: do not accept 256 channels, 255 is the max vorbis supports
2011-11-23 16:09:13 +00:00
Wim Taymans
17f6254ab4
ogg: fix compilation
2011-11-23 11:10:31 +01:00
Wim Taymans
7b45a7367b
Merge branch 'master' into 0.11
...
Conflicts:
ext/ogg/gstoggmux.c
2011-11-23 10:50:53 +01:00
Vincent Penquerc'h
042b4f9a29
oggstream: extract opus comments if available
2011-11-22 13:29:10 +00:00
Vincent Penquerc'h
bf73491077
oggstream: recognize opus headers from data, not packet count
...
Opus streams outside of Ogg may not have headers, and oggstream
may be used by oggmux to mux an Opus stream which does not come
from Ogg - thus without headers.
Determining headerness by packet count would strip the first two
packets from such an Opus stream, leading to a very small amount
of audio being clipped at the beginning of the stream.
2011-11-22 13:15:33 +00:00
Vincent Penquerc'h
9d4989395c
oggdemux: add some more debug info when determining start time
2011-11-22 13:01:35 +00:00
Vincent Penquerc'h
2a87d7c8ce
oggstream: fix opus duration calculation
2011-11-22 12:55:56 +00:00
Vincent Penquerc'h
ceee36195a
oggstream: early out on headers when determining packet duration
2011-11-22 12:00:58 +00:00
Vincent Penquerc'h
e05f1df04b
oggstream: account for opus pre-skip in granpos/time mapping
2011-11-22 11:59:54 +00:00
Tim-Philipp Müller
e8fb8cb523
Fix some more printf format warnings
2011-11-22 01:21:04 +00:00
Wim Taymans
8fc2a21775
update for activation changes
2011-11-21 13:35:34 +01:00
Vincent Penquerc'h
9d2a2750c2
ogg: add opus support
2011-11-19 16:06:09 +00:00
Wim Taymans
d0bd5f04c0
update for new scheduling query
2011-11-18 17:58:58 +01:00
Wim Taymans
1ad4d20607
add parent to activate functions
2011-11-18 13:56:04 +01:00
Wim Taymans
7afdff3575
Merge branch 'master' into 0.11
...
Conflicts:
gst-libs/gst/audio/gstaudiodecoder.c
2011-11-17 17:07:41 +01:00
Wim Taymans
e302833e65
add parent to pad functions
2011-11-17 12:48:25 +01:00
Mark Nauwelaerts
80658564ae
vorbisenc: reset tag setter interface when appropriate
2011-11-16 19:03:49 +01:00
Wim Taymans
2202511e77
add parent to query function
2011-11-16 17:25:17 +01:00
Wim Taymans
94ac7e858f
visual: update for renamed flags
...
Use the _check_reconfigure method instead of checking flags.
Don't need to ref the parent anymore, core does that.
2011-11-16 12:40:26 +01:00
Wim Taymans
026ec68f75
_peer_get_caps() -> _peer_query_caps()
2011-11-15 18:04:17 +01:00
Wim Taymans
7402d3a3d2
update for _get_caps() -> _query_caps()
2011-11-15 18:04:17 +01:00
Wim Taymans
ab9ffa93f5
change getcaps to query
...
Add sink and src event functions in rtpbasepayload
Add query vmethod to rtpbasepayload.
2011-11-15 18:04:16 +01:00
Tim-Philipp Müller
c76e5804b3
Update for GstURIHandler get_protocols() changes
2011-11-13 23:44:23 +00:00
Tim-Philipp Müller
455f337e3d
gio, appsrc, appsink, cdaudiosrc: update for GstURIHandler API changes
2011-11-13 18:22:06 +00:00
Tim-Philipp Müller
83a1e31786
cdparanoia: update for GstCddaBaseSrc -> GstAudioCdSrc renaming
2011-11-12 11:58:58 +00:00
Wim Taymans
ee7072fe7e
rename GstBaseAudio* ->GstAudioBase*
2011-11-11 11:52:47 +01:00
Wim Taymans
6511f36fdb
audio: GstRingBuffer -> GstAudioRingBuffer
2011-11-11 11:21:41 +01:00
Wim Taymans
e338792ab0
update for adapter api changes
2011-11-10 18:32:39 +01:00
Wim Taymans
3254e79f04
alsa: fix negotiation
...
Don't assume the format is a string because now it is a list of string in the
template.
Chain up to the parent class implementation of get_caps.
2011-11-10 16:05:19 +01:00
Vincent Penquerc'h
e02a164a36
vorbisenc: fix getcaps ignoring filter caps
2011-11-10 14:38:09 +00:00
Vincent Penquerc'h
67f6f64d88
oggdemux: do not try to write empty header buffers
...
Those are valid, and the EOS skeleton packet is actually empty.
2011-11-10 14:38:09 +00:00
Vincent Penquerc'h
77230f0106
oggmux: split request pad templates into audio/video/subtitle
...
https://bugzilla.gnome.org/show_bug.cgi?id=663766
2011-11-10 14:38:09 +00:00
Wim Taymans
671131a83a
update for removed fixate functions
2011-11-10 11:02:12 +01:00
Wim Taymans
372b9329b9
remove query types
2011-11-09 11:47:54 +01:00
Vincent Penquerc'h
51426a3b2d
textoverlay: continue processing text when silent
...
This prevents playback wegding when text buffers are
left to pile up.
https://bugzilla.gnome.org/show_bug.cgi?id=662829
2011-11-08 12:02:49 +00:00
Tim-Philipp Müller
d7fc45f42e
docs: fix up some Since: markers
2011-11-07 23:05:44 +00:00
Wim Taymans
8c8fcf4d3b
Merge branch 'master' into 0.11
2011-11-07 17:18:06 +01:00
Vincent Penquerc'h
5d3852d91a
theoraenc: fix speed level failure test
...
It was testing the opposite of what it thought it was.
https://bugzilla.gnome.org/show_bug.cgi?id=663390
2011-11-07 12:27:16 +00:00
Vincent Penquerc'h
a81cb3ef7f
theoraenc: make logically static const data just so
...
https://bugzilla.gnome.org/show_bug.cgi?id=663391
2011-11-07 12:27:15 +00:00
Vincent Penquerc'h
c1aab3e0a7
theoraenc: use th_packet_iskeyframe instead of peeking at bits
...
https://bugzilla.gnome.org/show_bug.cgi?id=663391
2011-11-07 12:27:14 +00:00
Vincent Penquerc'h
ffbe58fd5a
theoraenc: trivial comment typos fixes
...
https://bugzilla.gnome.org/show_bug.cgi?id=663391
2011-11-07 12:27:13 +00:00
Vincent Penquerc'h
0c4ccb4f9c
theoraenc: warn when trying to set an ignored obsolete property
...
https://bugzilla.gnome.org/show_bug.cgi?id=663391
2011-11-07 12:27:12 +00:00
Vincent Penquerc'h
10811d63f9
theoraenc: refuse to get to READY if the encoder was disabled
...
https://bugzilla.gnome.org/show_bug.cgi?id=663391
2011-11-07 12:27:11 +00:00
Vincent Penquerc'h
353153d079
oggdemux: survive skeleton finding length behind our backs in push mode
...
In push mode, we determine duration by doing a seek to the end of the
stream. However, a skeleton stream with an index will cause the duration
to be known already, and we end up never setting the push_time_duration
variable which we use to know duration has been determined.
https://bugzilla.gnome.org/show_bug.cgi?id=662049
2011-11-07 12:20:16 +00:00
Wim Taymans
7ac25e9b26
Merge branch 'master' into 0.11
...
Conflicts:
common
configure.ac
gst-libs/gst/audio/gstbaseaudiosink.c
gst/playback/gstdecodebin2.c
gst/playback/gstplaysinkaudioconvert.c
gst/playback/gstplaysinkaudioconvert.h
gst/playback/gstplaysinkvideoconvert.c
gst/playback/gstplaysinkvideoconvert.h
2011-11-07 12:23:15 +01:00
Stefan Sauer
0019bcaa47
controller: port to new location and api changes
2011-11-04 20:14:54 +01:00
Wim Taymans
75fea4f535
oggdemux: fix somtimes pad
2011-11-04 12:53:33 +01:00
Wim Taymans
cf8481b990
fix pad template names for request pads
2011-11-04 10:49:48 +01:00
Sebastian Dröge
41dc3033d4
oggmux: Remove obsolete #include
2011-11-03 09:27:56 +01:00
Wim Taymans
a5fa136c0b
update for tag API removal
2011-11-02 12:11:16 +01:00
Wim Taymans
e067e67923
rename meta* -> *meta
2011-11-02 09:04:27 +01:00
Wim Taymans
7cd83031a1
alsa: update for new task api
2011-11-02 09:04:27 +01:00
Tim-Philipp Müller
5ee51e47a1
ext, gst, gst-libs, tests: update for tag list API changes
2011-10-31 14:22:39 +00:00
Wim Taymans
4f9dea137f
Merge branch 'master' into 0.11
2011-10-28 11:34:37 +02:00
Thiago Santos
136f5b2690
oggmux: port to gstcollectpads2
2011-10-28 10:06:16 +02:00
Wim Taymans
06311362e9
fix compilation
2011-10-27 17:26:58 +02:00
Wim Taymans
016d036137
Merge branch 'master' into 0.11
...
Conflicts:
configure.ac
gst-libs/gst/audio/gstbaseaudiosink.c
gst/audioconvert/channelmixtest.c
gst/playback/gstplaybasebin.c
gst/playback/gstsubtitleoverlay.c
tests/examples/Makefile.am
tests/examples/audio/Makefile.am
2011-10-27 15:44:58 +02:00
René Stadler
133a0b1771
oggdemux: remove avoidable call to gst_object_set_name
2011-10-21 22:24:14 +02:00
Stefan Sauer
53d7d2e966
interfaces: clean up the use of iface and class/klass
2011-10-21 14:46:48 +02:00
Vincent Penquerc'h
1f900dc20d
vorbisdec: do not try to read past the buffer array
...
https://bugzilla.gnome.org/show_bug.cgi?id=662108
2011-10-19 16:45:06 +02:00
Mark Nauwelaerts
43928e33e6
vorbisdec: only finish header packet frame if received in-stream
...
... rather than scaring audiodecoder with a frame extracted from caps.
Fixes #662108 (partially).
2011-10-19 16:44:44 +02:00
Vincent Penquerc'h
26e1c2d628
oggdemux: do not retry seeking indefinitely
...
https://bugzilla.gnome.org/show_bug.cgi?id=661897
2011-10-17 10:51:19 +01:00
Wim Taymans
05ad8a3432
Merge branch 'master' into 0.11
...
Conflicts:
ext/vorbis/gstvorbisenc.c
2011-10-10 11:45:49 +02:00
Wim Taymans
f1088ed647
update for UNEXPECTED -> EOS flowreturn
2011-10-10 11:39:52 +02:00
Mark Nauwelaerts
a7f508012c
vorbisenc: only push header buffers following initial events
2011-10-09 21:20:35 +02:00
Wim Taymans
889a7e89c9
vorbisdec: report to 0.11
2011-10-08 11:05:29 +02:00
Wim Taymans
73b894107a
Merge branch 'master' into 0.11
...
Conflicts:
ext/vorbis/gstvorbisdec.c
ext/vorbis/gstvorbisenc.c
ext/vorbis/gstvorbisenc.h
gst/audiotestsrc/gstaudiotestsrc.c
2011-10-08 10:19:06 +02:00
Mark Nauwelaerts
f63f09483f
vorbisdec: port to audiodecoder
2011-10-07 14:52:53 +02:00
Mark Nauwelaerts
f3cb93fc0c
vorbisenc: port to audioencoder
2011-10-07 14:52:46 +02:00
René Stadler
1d3980cda2
oggdemux: don't leak scheduling query
2011-10-07 14:06:57 +02:00
Wim Taymans
a00927ad03
Merge branch 'master' into 0.11
2011-10-04 17:58:49 +02:00
Vincent Penquerc'h
c7282a5718
alsasrc: fail gracefully when ALSA does not give timestamps
...
https://bugzilla.gnome.org/show_bug.cgi?id=660170
2011-10-03 11:14:09 +02:00
Vincent Penquerc'h
15dc839467
textoverlay: add YV12 support
...
Basically the same as I420, just with chroma planes swapped.
https://bugzilla.gnome.org/show_bug.cgi?id=660604
2011-10-01 19:18:02 +01:00
Tim-Philipp Müller
500ad37657
vorbisdec: set channel positions
2011-09-29 21:50:59 +01:00
Edward Hervey
17bfba09f1
Merge branch 'master' into 0.11
...
Conflicts:
ext/ogg/gstoggdemux.c
ext/pango/gsttextoverlay.c
gst-libs/gst/audio/gstaudioencoder.c
gst-libs/gst/audio/gstbaseaudiosrc.c
gst/playback/gstsubtitleoverlay.c
gst/videorate/gstvideorate.c
2011-09-23 18:27:11 +02:00
Vincent Penquerc'h
c956c5fd00
oggstream: only use information from skeleton if we have nothing better
...
The codec setup headers are a lot more likely to have correct information,
especially as it's easy to remux a skeleton in a file where streams don't
have the same parameters (I've even seen a file with two skeletons).
Still, this is useful in the case we have a codec we can't decode, so we
can at least (theoretically) convert granpos to time, so we discard this
information if the codec setup has already provided it.
This fixes playback on (at lesat) the original archive.org encoding of
"The Night of the Living Dead" (now replaced by another encoding).
https://bugzilla.gnome.org/show_bug.cgi?id=612443
2011-09-19 23:21:23 +01:00
Sebastian Dröge
d094913a61
textoverlay: Protect against accessing the NULL parent of the pads during shutdown
...
Fixes bug #658901 .
2011-09-19 09:34:08 +02:00
Tim-Philipp Müller
15d8082a55
oggdemux: remove superfluous check in newsegment event handler
...
If we get a newsegment event from upstream, we can be quite
sure we're not operating pull-based.
2011-09-16 20:14:39 +01:00
Tim-Philipp Müller
049e275632
oggdemux: minor printf format fix
2011-09-16 20:11:56 +01:00
Vincent Penquerc'h
89fc5b4bd8
oggdemux: fix wedge when seeking twice quickly in push mode
...
This could happen when testing with navseek, and pressing
right and left at roughly the same time. The current chain
is temporarily moved away, and this caused the flush events
not to be sent to the source pads, which would cause the
data queues downstream to reject incoming data after the
seek, and shut down, wedging the pipeline.
Now, I can't really decide whether this is a nasty steaming
hack or a good fix, but it certainly does fix the issue, and
does not seem to break anything else so far.
https://bugzilla.gnome.org/show_bug.cgi?id=621897
2011-09-16 20:07:33 +01:00
Vincent Penquerc'h
0173afa38c
oggdemux: implement push mode seeking
...
This patch implements seeking in push mode (eg, over the net)
in Ogg, using the double bisection method.
As a side effect, it also fixes duration determination of network
streams, by seeking to the end to check the actual duration.
Known issues:
- Getting an EOS while seeking stops the streaming task, I can't
find a way to prevent this (eg, by issuing a seek in the event
handler).
- Seeking twice in a VERY short succession with playbin2 fails
for streams with subtitles, we end up pushing in a dataqueue
which is flushing. Rare in normal use AFAICT.
- Seeking is slow on slow links - byte ranges guesses could be
made better, decreasing the number of required requests
- If no granule position is found in the last 64 KB of a stream,
duration will be left unknown (should be pretty rare)
https://bugzilla.gnome.org/show_bug.cgi?id=621897
2011-09-16 19:47:10 +01:00
Vincent Penquerc'h
6704b37fc3
oggdemux: do not propagate discontinuities in sparse streams
...
The first packet of a sparse stream may arrive after an initial
delay in the stream. If ogg_stream_packetout reports a discontinuity
in a sparse stream, do not propagate it to other streams in the
chain unnecessarily.
https://bugzilla.gnome.org/show_bug.cgi?id=621897
2011-09-14 23:20:01 +01:00
Thomas Vander Stichele
d223a6dd59
theoraenc: Fix descriptions of properties
2011-09-11 14:22:59 -04:00
Sebastian Dröge
0f654f3feb
Merge branch 'master' into 0.11
...
Conflicts:
docs/libs/Makefile.am
tests/check/elements/decodebin2.c
2011-09-08 14:42:00 +02:00
Vincent Penquerc'h
cea0ac790f
theoraenc: do not automatically override quality when using target bitrate
...
If both quality and bitrate are set, libtheora will try to meet
both constraints, causing it to prefer emitting a smaller number
of good frames, to emitting the full number of frames that would
not meet the requested quality. This causes a slideshow effect
when the bitrate is low and the quality is high. And the default
theoraenc is high (48/63).
So only set quality when it is requested, and leave it unset
otherwise.
https://bugzilla.gnome.org/show_bug.cgi?id=658443
2011-09-07 13:27:33 +02:00
Wim Taymans
33196cdd2c
audio: change audio format syntax a little
...
Remove the _ in front of the endianness prefix.
Remove the _3 postfix for the 24 bits formats.
Add a _32 postfix after the formats that occupy extra space beyond their
natural size.
The result is that the GST_AUDIO_NE() macro can simply append the endianness
after all formats and that we only specify a different sample width when it is
different from the natural size of the sample. This makes things more consistent
and follows the pulseaudio conventions instead of the alsa ones.
2011-09-06 12:06:39 +02:00
Wim Taymans
e1287b97ab
Merge branch 'master' into 0.11
...
Conflicts:
ext/ogg/gstoggmux.c
gst-libs/gst/audio/audio.c
gst-libs/gst/audio/audio.h
gst-libs/gst/audio/multichannel.h
gst-libs/gst/pbutils/Makefile.am
gst-libs/gst/pbutils/gstdiscoverer.c
gst/playback/gstplaysinkaudioconvert.c
gst/playback/gstplaysinkvideoconvert.c
win32/common/libgstaudio.def
2011-08-29 11:37:36 +02:00
Vincent Penquerc'h
02763b2fa2
theoraenc: fix caps leak
...
https://bugzilla.gnome.org/show_bug.cgi?id=657333
2011-08-25 15:17:01 +01:00
Vincent Penquerc'h
fd218c4ec2
oggmux: fix leaks in skeleton writing
...
https://bugzilla.gnome.org/show_bug.cgi?id=563251
2011-08-25 08:32:26 +02:00
Vincent Penquerc'h
29038283bc
oggmux: generate message headers from received tags
...
Some message headers can be deduced from tags (eg, "Language").
https://bugzilla.gnome.org/show_bug.cgi?id=563251
2011-08-25 08:32:20 +02:00
Vincent Penquerc'h
53c8656248
ogg: use memory slices where appropriate
...
While there, avoid zeroing newly allocated memory where unnecessary
https://bugzilla.gnome.org/show_bug.cgi?id=656775
2011-08-25 08:26:49 +02:00
Wim Taymans
232a5a3d0a
Merge branch 'master' into 0.11
...
Conflicts:
ext/ogg/gstoggmux.c
ext/vorbis/gstvorbisenc.c
2011-08-24 11:04:53 +02:00
Vincent Penquerc'h
7b8b0fa1bb
oggdemux: do not warn when reaching EOS while scanning for the end chain
...
After all, we were asking for it.
This gets rid of the last warning-about-expected-condition.
w00t.
https://bugzilla.gnome.org/show_bug.cgi?id=657151
2011-08-24 08:32:21 +02:00
Vincent Penquerc'h
df40ddf0aa
oggdemux: add media type to chain information reports
...
One more little step in making logs a little less abstruse.
https://bugzilla.gnome.org/show_bug.cgi?id=657151
2011-08-24 08:31:58 +02:00
Vincent Penquerc'h
1e606c0456
oggstream: correctly identify skeleton EOS packet
...
It is 0 byte, and was triggering the "bad packet" logic.
https://bugzilla.gnome.org/show_bug.cgi?id=657151
2011-08-24 08:31:51 +02:00
Vincent Penquerc'h
68ed992e7e
oggdemux: do not warn about expected occurences
...
In this case, finding a skeleton packet.
Once upon a time, it used to be rare indeed, but no more.
https://bugzilla.gnome.org/show_bug.cgi?id=657151
2011-08-24 08:31:30 +02:00
Vincent Penquerc'h
4fdb52871c
oggdemux: do not warn when finding a non BOS page
...
After all, we do hope to find actual data for these streams.
However, warn if we could not set up a chain when we find a
non BOS page, as that means we don't have a valid Ogg stream.
https://bugzilla.gnome.org/show_bug.cgi?id=657151
2011-08-24 08:31:17 +02:00
Vincent Penquerc'h
564eedd214
oggdemux: rename local variable for clarity
...
While the casual reader might end up bewildered by just why this
change might increase clarity, it just happens than, in the libogg
and associated sources, op is the canonical name for an ogg_packet
whlie og is the canonical name for an ogg_page, and reading this
code confuses me.
https://bugzilla.gnome.org/show_bug.cgi?id=657151
2011-08-24 08:30:55 +02:00
Vincent Penquerc'h
5d18496a5b
oggdemux: do not try to determine duration of header packets
...
Headers are inherently durationless.
Instead, set duration to 0 to avoid increasing tracked granpos,
and do not warn about it, since it is totally expected.
https://bugzilla.gnome.org/show_bug.cgi?id=657151
2011-08-24 08:30:45 +02:00
Vincent Penquerc'h
67a882afe7
oggstream: include stream type in warnings
...
It makes it easier to work out what's going on.
https://bugzilla.gnome.org/show_bug.cgi?id=657151
2011-08-24 08:30:30 +02:00
Vincent Penquerc'h
43cb76b1d8
oggstream: set skeleton stream media type to application/x-ogg-skeleton
...
This is to match the typefinder, and to make logs clearer.
https://bugzilla.gnome.org/show_bug.cgi?id=657151
2011-08-24 08:30:17 +02:00
Vincent Penquerc'h
2301f1806f
oggmux: add skeleton write support
...
Version written is 3.0
Base times are left empty for now.
Content-Type should be the MIME type of the stream. It is set to
the GStreamer media type for now, which is probably the same for
the streams oggmux supports.
https://bugzilla.gnome.org/show_bug.cgi?id=563251
2011-08-24 08:21:34 +02:00
Wim Taymans
e78b66f5a3
video: fix chroma-site enums
2011-08-23 20:34:24 +02:00
Wim Taymans
9ad89374a3
video: add colorimetry info
...
Make enums for the chroma siting for easier use in the videoinfo.
Make enums for the color range, color matrix, transfer function and the
color primaries. Add these values to the video info structure in a Colorimetry
structure. These values define the exact colors and are needed to perform
correct colorspace conversion. Use a couple of predefined colorimetry specs
because in practice only a few combinations are in use.
Add view_id to the video frames to identify the view this frame represents in
multiview video.
Remove old gst_video_parse_caps_framerate, use the videoinfo for this.
Port elements to new colorimetry info.
Remove deprecated colorspace property from videotestsrc.
2011-08-23 18:57:35 +02:00
Vincent Penquerc'h
8a752e44e2
oggdemux: do not skip sparse streams when determining start times
...
This fixes demuxing of streams containing only sparse streams,
which would cause an infinite loop in _read_end_chain.
https://bugzilla.gnome.org/show_bug.cgi?id=657062
2011-08-23 10:36:18 +02:00
Vincent Penquerc'h
4e9508e2ec
oggdemux: do not ignore sparse streams' start time
...
But do not wait for them either, if we don't have a packet for them.
https://bugzilla.gnome.org/show_bug.cgi?id=657062
2011-08-23 10:36:03 +02:00
Monty Montgomery
9cbe7c1403
vorbisenc: Relax overly-tight jitter tolerances in gstvobisenc
...
vorbisenc currently reacts in a rater draconian fashion if input
timestamps are more than 1/2 sample off what it considers ideal. If data
is 'too late' it truncates buffers, if it is 'too soon' it completely
shuts down encode and restarts it. This is causingvorbisenc to produce
corrupt output when encoding data produced by sources with bugs that
produce a smple or two of jitter (eg, flacdec)
2011-08-23 10:11:18 +02:00
Wim Taymans
2ce5c8b8be
audio: use convert audio helper
2011-08-22 16:21:02 +02:00
Wim Taymans
c81c62d03a
fourcc: remove fourcc
...
Remove fourcc in caps.
Fix pbutils descriptions.
Add more video macros
Fix some unit test
2011-08-22 12:22:02 +02:00
Wim Taymans
5f359600ce
oggmux: fix compilation
2011-08-22 12:21:08 +02:00
Vincent Penquerc'h
7d3858a14d
textoverlay: fix text buffer leak
...
Make sure to always unref the input text buffer.
Reported by bcxa.sz@gmail.com .
https://bugzilla.gnome.org/show_bug.cgi?id=657049
2011-08-22 10:48:06 +01:00
Wim Taymans
8023f49d19
more audio caps porting
2011-08-19 17:41:22 +02:00
Wim Taymans
34a94ddd6b
visual: port some more to new audio caps
2011-08-19 16:49:30 +02:00
Wim Taymans
b657f5bce7
Merge branch 'master' into 0.11
2011-08-19 14:07:11 +02:00
Vincent Penquerc'h
b7bb1e5633
ogg: do not use 32 bit modifiers to print serial numbers
...
If ints are 64 bits, 32 bits should get promoted in varargs anyway,
and we don't care about 16 bit ints.
This makes the code a lot more readable, and still gets us nice
hexadecimal 32 bit serialnos.
https://bugzilla.gnome.org/show_bug.cgi?id=656775
2011-08-18 20:18:53 +01:00
Wim Taymans
ba41bb5ca7
Merge branch 'master' into 0.11
...
Conflicts:
ext/ogg/gstoggmux.c
gst/playback/gstplaysink.c
2011-08-18 19:36:50 +02:00
Wim Taymans
dae848818d
audio: rework audio caps.
...
Rework the audio caps similar to the video caps. Remove
width/depth/endianness/signed fields and replace with a simple string
format and media type audio/x-raw.
Create a GstAudioInfo and some helper methods to parse caps.
Remove duplicate code from the ringbuffer and replace with audio info.
Use AudioInfo in the base audio filter class.
Port elements to new API.
2011-08-18 19:15:03 +02:00
Vincent Penquerc'h
1dadc5eac1
ogg: get the operator precedence right, even if only a doc
...
https://bugzilla.gnome.org/show_bug.cgi?id=656775
2011-08-18 11:17:40 +02:00
Vincent Penquerc'h
cf370e0219
oggstream: vorbis has a preroll of 2
...
https://bugzilla.gnome.org/show_bug.cgi?id=656775
2011-08-18 11:17:28 +02:00
Vincent Penquerc'h
96e7bf53e9
oggstream: new convenience function to get a stream's media type
...
This will make logging a lot clearer, both in code and in output.
https://bugzilla.gnome.org/show_bug.cgi?id=656775
2011-08-18 11:17:15 +02:00
Vincent Penquerc'h
8304b7b40d
ogg: move the "always flush page" to oggstream
...
It avoids checking for specific media types in the muxer.
https://bugzilla.gnome.org/show_bug.cgi?id=656775
2011-08-18 11:16:50 +02:00
Vincent Penquerc'h
fd8434fc74
oggmux: use oggstream to decide which BOS packets to place first
...
Ogg recommends video BOS packets to be first.
Use the "is_video" flag in oggstream to select those, rather than
check for known mime types.
https://bugzilla.gnome.org/show_bug.cgi?id=656775
2011-08-18 11:16:19 +02:00
Vincent Penquerc'h
5bbf7109ec
ogg: rationalize serialno type to guint32
...
It is a 32 bit unsigned number.
Sure, the libogg API uses a long, but that's an unfortunate oversight.
https://bugzilla.gnome.org/show_bug.cgi?id=656775
2011-08-18 11:15:51 +02:00
Vincent Penquerc'h
684b90ba74
oggmux: factor the header packet creation code
...
https://bugzilla.gnome.org/show_bug.cgi?id=656775
2011-08-18 11:13:59 +02:00
Vincent Penquerc'h
3fe42b8e7e
oggmux: headers should always have granpos 0
...
https://bugzilla.gnome.org/show_bug.cgi?id=656775
2011-08-18 11:13:47 +02:00
Wim Taymans
33467d9629
Merge branch 'master' into 0.11
...
Conflicts:
configure.ac
ext/pango/gsttextoverlay.c
ext/theora/gsttheoradec.c
gst/adder/gstadder.c
gst/adder/gstadder.h
gst/audioresample/gstaudioresample.c
gst/encoding/gstencodebin.c
gst/playback/gstdecodebin.c
gst/playback/gstdecodebin2.c
tests/check/elements/decodebin2.c
tests/check/elements/playbin-compressed.c
win32/common/libgsttag.def
2011-08-16 18:01:14 +02:00
Wim Taymans
e904c529e3
fix for _negotiated_caps() change
2011-08-15 12:18:15 +02:00
Josep Torra
5629ed74b3
Fix debug statements
...
Fixes build on MacOSX
Signed-off-by: Edward Hervey <edward.hervey@collabora.co.uk>
2011-08-10 11:15:41 +02:00
Jonathan Liu
8bd3bdaf37
oggstream: Fix crashes with 0-byte vorbis packets
...
Fixes bug #655574 .
2011-08-03 10:18:29 +02:00
Philip Jägenstedt
7d22d91fca
theoradec: segfault on 0-byte ogg_packet in _chain_reverse
2011-08-03 10:03:00 +02:00
Wim Taymans
5a85e1d75f
base: update for new bufferpool API
2011-07-29 17:15:39 +02:00
Tim-Philipp Müller
bb65192151
ext,gst: update for query API changes
2011-07-27 01:16:53 +01:00
Wim Taymans
56a542ec92
giosink: use new query vmethod
2011-07-26 12:47:38 +02:00
Stefan Sauer
2db389f775
textoverlay: improve the example
...
Mentioned that this is not ment to be used with subtitles and suggest alternatives.
2011-07-25 12:04:48 +02:00
Stefan Sauer
5d5ab90e51
textoverlay: add example for feeding from stdin
2011-07-23 14:22:03 +02:00
Stefan Sauer
0667b1adf5
textoverlay: keep untimestamped textbuffer until next one
...
Instead of discarding untimestamped text-buffers immeditely after rendering,
keep them until we receive the next text buffer.
Fixes #654959
2011-07-23 14:04:14 +02:00
Wim Taymans
57157694a5
the
2011-07-19 18:31:23 +01:00
Wim Taymans
1b8ef683ce
theoradec: make sure our buffer is big enough
...
Make sure we allocate a buffer that is big enough.
2011-07-19 18:21:42 +01:00
Wim Taymans
376164ab08
Merge branch 'master' into 0.11
2011-07-10 13:49:14 +02:00
David Schleef
a5323107d4
oggmux: check for EOS on both current and best pad
...
Oops, need both. Fixes #654270 .
2011-07-09 18:33:38 -07:00
David Schleef
2fa9bf2be5
oggmux: check for EOS on current pad, not best
...
Fixes #654270 .
2011-07-09 18:24:26 -07:00
Tim-Philipp Müller
dd56714b14
ffmpegcolorspace -> videoconvert
2011-07-07 23:59:59 +01:00
Tim-Philipp Müller
34955ac34d
theoraenc: remove some unused code that caused a compiler warning
...
The video format is set up in the sink pad's setcaps() function.
2011-07-05 10:04:42 +01:00
Wim Taymans
ddce68a5c2
video: More video helper library improvements
...
Make a new GstVideoFormatinfo structure that contains the specific information
related to a format such as the number of planes, components, subsampling,
pixel stride etc. The result is that we are now able to introduce the concept of
components again in the API.
Use tables to specify the formats and its properties.
Use macros to get information about the video format description.
Move code to set strides, offsets and size into one function.
Remove methods that are not handled with the structures.
Add methods to retrieve pointers and strides to the components in the video.
2011-07-04 16:01:14 +02:00
Tim-Philipp Müller
c16e7321b9
alsa: don't use GstImplementsInterface
2011-06-26 22:58:17 +01:00
Wim Taymans
558cb821e4
theoradec: use cropping metadata
2011-06-23 18:02:40 +02:00
Wim Taymans
646ffd0dad
fix for uri changes
2011-06-22 16:38:48 +02:00
Wim Taymans
2e837743c3
audio: clean up audiosink headers
2011-06-21 18:13:48 +02:00
Wim Taymans
0530b609aa
theoradec: enable video metadata in the bufferpool
...
Enable the video metadata in the bufferpool.
2011-06-20 13:30:07 +02:00
Wim Taymans
6d9e76f2de
video: remove intermediate Plane structure
...
Remove the GstVideoPlane structure and move the fields directly into the
GstVideoInfo structure. This makes things a little easier to read and also makes
it more likely that we can pass the stride array to external libraries.
2011-06-20 11:25:58 +02:00
Wim Taymans
d93129d8da
-base: port to GstVideoFrame API
2011-06-17 15:41:31 +02:00
Wim Taymans
d06f599193
-base: port elements to new video caps
2011-06-16 12:52:13 +02:00
Tim-Philipp Müller
a9e4949238
gnomevfs: remove GnomeVFS plugin
...
The gio plugin replaces it.
2011-06-15 00:52:47 +01:00
Wim Taymans
40d567153a
Merge branch 'master' into 0.11
2011-06-13 19:09:05 +02:00
Wim Taymans
0d44940076
theoradec: use _check_reconfigure method
2011-06-13 12:15:33 +02:00
Wim Taymans
1c8324a0d1
update for bufferpool api change
2011-06-11 18:54:44 +02:00
David Schleef
ea0d666d11
oggmux: refactor how EOS is determined
...
This decreases the number of buffers held on each pad by one,
eliminating next_buffer. Simplifies the logic by relying solely
on CollectPads to let us know when a pad is in EOS. As a side
benefit, the collect pads related code is structured more like
other CollectPad users.
The previous code would occasionally mark the wrong pad as EOS,
causing the code to get in a state where all the streams were
finished, but EOS hadn't been sent to the source pad.
2011-06-10 23:54:07 -07:00
Wim Taymans
9778d5dac7
update for alignment change
2011-06-10 18:04:29 +02:00
Wim Taymans
40e3dda187
oggdemux: small cleanups
2011-06-10 18:04:14 +02:00
Wim Taymans
0ac9bb7d99
Merge branch 'master' into 0.11
...
Conflicts:
tests/examples/audio/Makefile.am
tests/examples/v4l/Makefile.am
2011-06-10 12:14:57 +02:00
Wim Taymans
db999572a8
-base: fix for flush_stop event API change
2011-06-10 11:59:53 +02:00
Wim Taymans
4fa7dfb07a
visual: small improvements
2011-06-09 11:52:32 +02:00
Tim-Philipp Müller
c692191c33
GST_PLUGINS_BASE_LIBS is not defined in -base.
2011-06-08 12:21:43 +01:00
Wim Taymans
28f67f4847
event: fix some event leaks
2011-06-07 12:06:22 +02:00
Wim Taymans
2940249a84
-base: use caps event
...
Remove uses of setcaps function and use the caps event.
2011-06-07 11:55:36 +02:00
Wim Taymans
c88ee10c9b
Merge branch 'master' into 0.11
...
Conflicts:
ext/theora/gsttheoraenc.c
2011-06-06 16:27:12 +02:00
Mark Nauwelaerts
99944a5a81
oggmux: determine granulepos metadata using stream mapper whenever possible
...
... which unfortunately is not the case for all types, but at least so for
most common ones.
2011-06-06 13:02:49 +02:00
Mark Nauwelaerts
de1f593537
oggmux: convert incoming buffer timestamp to running time
...
... so all subsequent manipulation can take place in the proper timeline
without further ado.
2011-06-06 13:02:47 +02:00
Mark Nauwelaerts
2e7eddd35e
oggmux: remove superfluous code
...
... since there is nothing in oggstream that cares (or even should)
about granulepos for what is being asked from it.
2011-06-06 13:02:43 +02:00
Luis de Bethencourt
8b18508778
theora: separate encode and push block in chain, into own function.
2011-06-04 10:10:54 +02:00
Edward Hervey
266a9be400
oggmux: Use the GstPad (and not the GstOggPadData for GstPad functions
...
For those willing, renaming that 'pad' variable to something more obvious
would be nice to avoid such bugs...
2011-06-03 19:28:32 +02:00
Wim Taymans
ff071135cb
thoeraenc: port to 0.11
2011-06-03 13:35:49 +02:00
Wim Taymans
b1aec14767
Merge branch 'master' into 0.11
...
Conflicts:
ext/theora/gsttheoraenc.c
2011-06-03 13:31:42 +02:00
Luis de Bethencourt
407b77740e
theora: use fixed src cap pads
2011-06-03 08:00:58 +02:00
Luis de Bethencourt
1ce538d912
theora: set the width/height/par on the srcpad caps
2011-06-03 08:00:53 +02:00
Luis de Bethencourt
ddfc8357a8
theora: get sink caps info from downstream element pad
...
https://bugzilla.gnome.org/show_bug.cgi?id=651564
2011-06-03 08:00:48 +02:00
Wim Taymans
29c3e31ff5
oggdemux: activate pad before pushing things
...
Activate the pad before pushing things on it or else we get errors.
2011-05-30 17:14:48 +02:00
Sebastian Dröge
bf08ca7020
Merge branch 'master' into 0.11
2011-05-26 13:54:09 +02:00
Lane Brooks
5488877090
textoverlay: added 'outline-color' parameter to control whether text gets a shadow
2011-05-26 11:05:43 +02:00
Lane Brooks
c8a3f63909
textoverlay: added 'shadow' option to control whether text gets a shadow
2011-05-26 11:03:23 +02:00
Jindrich Makovicka
2ba4a56d74
textrender: Correctly negotiate with downstream instead of just using random caps
...
Fixes bug #638897 .
2011-05-26 10:48:05 +02:00
Jindrich Makovicka
c186d400e5
textrender: Add bound checks to not write outside the image area
2011-05-26 10:43:51 +02:00
Jindrich Makovicka
fe533c9995
textrender: Prevent double unref of caps if the caps can't be set on the srcpad
2011-05-26 10:42:46 +02:00
Sebastian Dröge
99188bce77
gnomevfssrc: Keep track of interruptions during read with a flag
2011-05-26 10:32:17 +02:00
American Dynamics
847d274a5c
gnomevfssrc: Add support for cancelling the read operations
...
This allows the state change from PAUSED to READY to be faster.
Fixes bug #628337 .
2011-05-26 10:31:41 +02:00
Stefan Kost
41b60ca83a
theoraenc: remove bogus <0 check for unsigned var
...
bytes_written is a gsize which is unsigned and thus never < 0.
2011-05-25 15:26:13 +03:00
Stefan Kost
af29082e94
theoraenc: fix variable type for bytes_consumed
...
th_encode_ctl() returns an int. Using a gsize result in bogus <0 checks.
2011-05-25 15:26:13 +03:00
Wim Taymans
010add200a
scheduling: port to new scheduling query
2011-05-24 17:37:45 +02:00
Wim Taymans
3b35a83688
theoradec: handle reconfigure events
...
Handle the caps with the caps event.
Handle the reconfigure event and renegotiate the bufferpool when needed.
2011-05-24 10:46:48 +02:00
Wim Taymans
0b3272108c
visual: fix upstream renegotiation
...
Fix a refcount problem.
Handle reconfiguration requests.
2011-05-19 13:38:55 +02:00
Wim Taymans
b2e80a09ca
visual: improve negotiation
...
Remove the setcaps function on the srcpad, we know exactly when we negotiate a
new format now.
Use a caps event to configure new caps.
2011-05-19 12:42:46 +02:00
Wim Taymans
5619a238c0
vorbis: fix for new API
2011-05-19 12:29:57 +02:00
Wim Taymans
489eed9bb8
Merge branch 'master' into 0.11
2011-05-19 11:31:53 +02:00
Aleix Conchillo Flaque
0f7522e449
vorbisdec: Handle headers in caps
2011-05-18 22:08:46 +02:00
Sebastian Dröge
884213b8b8
base: Update for SEGMENT event parse API changes
2011-05-18 17:23:18 +02:00
Robert Swain
e9aed7f31c
alsa: Remove unused but set variable
...
Unused but set variables cause warnings in GCC 4.6.x and newer.
2011-05-18 09:34:52 +02:00
Sebastian Dröge
c255019b90
ext: Update for caps/pad template related API changes
2011-05-17 13:06:01 +02:00
Sebastian Dröge
318ed07598
Revert "-base_port to new query API"
...
This reverts commit c9f4e0676b
.
2011-05-17 11:25:31 +02:00
Wim Taymans
af70f1fc32
Merge branch 'master' into 0.11
2011-05-17 09:31:01 +02:00
Tim-Philipp Müller
74cc986593
cdparanoiasrc: fix build on OSX by #undef-ing VERSION before including system headers
...
On OSX the cdparanoia headers include IOKit framework headers (in particular
SCSICmds_INQUIRY_Definitions.h) which define a structure that has a member
named VERSION, so we must #undef VERSION before including those for things
to compile on OSX.
Fixes #609918 .
2011-05-17 09:20:08 +02:00
Sebastian Dröge
d0362c2b87
Merge branch 'master' into 0.11
...
Conflicts:
configure.ac
ext/alsa/gstalsasrc.c
gst-libs/gst/audio/gstbaseaudiosink.c
gst-libs/gst/tag/gstxmptag.c
gst/playback/gstsubtitleoverlay.c
gst/videorate/gstvideorate.c
sys/xvimage/xvimagesink.c
2011-05-16 17:06:22 +02:00
Sebastian Dröge
ed89c9d38f
vorbis: Update for negotiation related API changes
2011-05-16 15:35:41 +02:00
Sebastian Dröge
c276eec54e
theora: Update for negotiation related API changes
2011-05-16 15:35:41 +02:00
Sebastian Dröge
362a025a6b
textoverlay: Update for negotiation related API changes
2011-05-16 15:35:41 +02:00
Sebastian Dröge
bcbf0488bf
ogg: Update for negotiation related API changes
2011-05-16 15:35:41 +02:00
Sebastian Dröge
4027a4c34f
visual: Update for negotiation related API changes
2011-05-16 15:35:41 +02:00
Sebastian Dröge
0415b90e99
alsa: Update for negotiation related API changes
2011-05-16 15:35:41 +02:00
Wim Taymans
94dfe80f71
-base: port to new SEGMENT API
2011-05-16 13:48:11 +02:00
Sebastian Dröge
2b84f5bd74
alsasrc: Fix some compilation errors
2011-05-14 11:42:32 +02:00
Pontus Oldberg
0b774e0b7c
alsasrc: Improve timestamp accuracy
...
Fixes bug #635256 .
2011-05-14 11:42:32 +02:00
Wim Taymans
c9f4e0676b
-base_port to new query API
2011-05-10 18:39:07 +02:00
Wim Taymans
7cad11e912
-base: fix for now request pad API
2011-05-10 16:44:37 +02:00
Wim Taymans
bdb4676455
qos: _qos_full -> _qos
2011-05-09 18:53:03 +02:00
Wim Taymans
816f4e791d
segment: fix for new core API
...
Fix for gst_*_segment_full rename.
2011-05-09 18:16:46 +02:00
Wim Taymans
1438485882
visual: use the right pad
2011-05-09 15:41:19 +02:00
Wim Taymans
62536eaa6e
visual: use CAPS event to configure caps
2011-05-09 15:37:46 +02:00
Wim Taymans
5acab64178
theora/vorbis: use default pad handler
...
Use the default pad event handler because we are not supposed to pass on CAPS
events.
2011-05-09 15:37:09 +02:00
Wim Taymans
ec57868488
-base: don't use buffer caps
...
Port to newest 0.11 core API, remove GST_PAD_CAPS and GST_BUFFER_CAPS.
2011-05-09 13:05:12 +02:00
Wim Taymans
500bccf6ac
visual: avoid unreffing a NULL object
2011-05-06 11:31:43 +02:00
Wim Taymans
abcbef287d
plugins: fix for allocation query API change
2011-05-02 11:11:33 +02:00
Wim Taymans
16d8fb2c2f
visual: add bufferpool support to libvisual
2011-04-29 18:23:25 +02:00
Wim Taymans
d6f8fb62c5
theoradec: use bufferpool
2011-04-29 16:52:23 +02:00
Wim Taymans
86a4771f8e
remove buffer_alloc
2011-04-29 13:28:17 +02:00
Sebastian Dröge
353186aec8
ext: Use G_DEFINE_TYPE instead of GST_BOILERPLATE
2011-04-19 14:22:42 +02:00
Sebastian Dröge
0759ce8533
Merge branch 'master' into 0.11
2011-04-18 13:23:32 +02:00
Sebastian Dröge
1312605eac
textoverlay: Always hold the class-global pango mutex when using pango API
2011-04-17 14:17:53 +02:00
Sebastian Dröge
d2ce491153
{time,clock}overlay: Hold the class-global pango mutex when changing the pango context
2011-04-17 14:17:52 +02:00
Sebastian Dröge
72b142bfdf
{clock,time}overlay: Only set the global pango context options once in class_init
...
Instead of doing it over and over again when instantiating a new instance.
2011-04-17 14:17:52 +02:00
Sebastian Dröge
9ee7398fae
pango: Create a new pango context for every subclass
...
timeoverlay/clockoverlay are setting some global options
on the context that shouldn't be used for the generic textoverlay.
2011-04-17 14:17:52 +02:00
Thibault Saunier
61c61e9f2f
vorbis: add support for using tremolo on android
...
Tremolo is an ARM-optimised version of xiph's tremor library.
2011-04-16 15:33:16 +01:00
Sebastian Dröge
dce40847a8
ogg: Update new code for 0.11 buffer API
2011-04-16 16:14:26 +02:00
Sebastian Dröge
c8792778f8
Merge branch 'master' into 0.11
2011-04-16 16:06:26 +02:00
Sebastian Dröge
92d10cbb8c
pango: Create a new base class for all the elements
...
This prevents the ugly hack where the text_sink pad template
was only added for textoverlay but not for the subclasses.
Also makes this work with the core change that made
subclasses inherit the templates of their parent class.
2011-04-16 15:56:55 +02:00
Vincent Penquerc'h
55e767b632
oggmux: prefer headers from caps to determine stream type
...
Ogg mandates the first header packet must determine a stream's type.
However, some streams (such as VP8) do not include such a header
when muxed in other containers, and thus do not include this header
as a buffer, but only in caps. We thus use headers from caps when
available to determine a new stream's type.
https://bugzilla.gnome.org/show_bug.cgi?id=647856
2011-04-16 11:55:27 +01:00
Sebastian Dröge
352edd1dd9
Merge branch 'master' into 0.11
2011-04-16 09:12:31 +02:00
Tim-Philipp Müller
be59789664
ogg: fix unused-but-set-variable warnings with gcc 4.6
...
https://bugzilla.gnome.org/show_bug.cgi?id=647294
2011-04-13 23:57:56 +01:00
Tim-Philipp Müller
8f1d77bc3c
oggmux: fix uninitialised variable usage and element leak
...
gcc on OSX complains about ret being used uninitialized in
this function, and it is right. Don't leak element ref
when returning early because newsegment event is not in
TIME format.
2011-04-12 12:41:06 +01:00
Wim Taymans
6e160bed3d
Merge branch 'master' into 0.11
...
Conflicts:
android/alsa.mk
android/app.mk
android/app_plugin.mk
android/audio.mk
android/audioconvert.mk
android/decodebin.mk
android/decodebin2.mk
android/gdp.mk
android/interfaces.mk
android/netbuffer.mk
android/pbutils.mk
android/playbin.mk
android/queue2.mk
android/riff.mk
android/rtp.mk
android/rtsp.mk
android/sdp.mk
android/tag.mk
android/tcp.mk
android/typefindfunctions.mk
android/video.mk
2011-04-11 11:37:51 +02:00
Alessandro Decina
030f639a8e
android: make it ready for androgenizer
...
Remove the android/ top dir
Fixe the Makefile.am to be androgenized
To build gstreamer for android we are now using androgenizer which generates the
needed Android.mk files.
Androgenizer can be found here:
http://git.collabora.co.uk/?p=user/derek/androgenizer.git
2011-04-11 07:23:21 +02:00
Sebastian Dröge
0688521103
vorbisdec: Unref events if the parent element disappeared
2011-04-08 15:00:58 +02:00
Havard Graff
5e9cfc6355
vorbisdec: make upstream queries and events MT-safe
2011-04-08 15:00:35 +02:00
Wim Taymans
4007076b55
Merge branch 'master' into 0.11
...
Conflicts:
ext/theora/gsttheoraenc.c
2011-04-06 16:33:56 +02:00
Mark Nauwelaerts
9cf76f114f
theoraenc: refactor multipass file writing
2011-04-06 12:26:11 +02:00
Wim Taymans
0f3fdf18e0
fix compilation after merge
2011-04-04 11:44:15 +02:00
Wim Taymans
da1c863711
Merge branch 'master' into 0.11
...
Conflicts:
gst-libs/gst/tag/gstvorbistag.c
2011-04-04 11:31:33 +02:00
Josep Torra
cd425d3787
oggmux: fix warning building in mac os x
2011-04-01 15:47:18 +02:00
Josep Torra
fbc60fc6f4
textoverlay: fix comparison is always false due to limited range of data type
...
Perform calculation in a temp var with enough room as there's guarantee that
ret will be able to hold the result for example in _blit_AYUV.
2011-04-01 15:47:03 +02:00
Sebastian Dröge
1c475f10e1
oggmux: Store the segment directly inside the pad
...
Also initialize it always in TIME format. We require TIME segments
in oggmux anyway and drop newsegment events in other formats and
assume an open-ended segment starting at 0.
2011-04-01 11:00:38 +02:00
Sebastian Dröge
fc56c76773
oggmux: Reset the segment on flush-stop events and when going back to READY
2011-04-01 10:58:09 +02:00
Thiago Santos
d1c74779f9
oggmux: Use running time instead of timestamps
...
Theora and vorbis use running time (which is correct) for calculating
the granulepos for their ogg packets. Oggmux, however, used
timestamps to order the received buffers.
This patch makes it use the running time to compare buffer times
and also to timestamp pushed buffers.
Some bits of the code still use timestamps, but they are only
used to calculate durations, so it should be fine.
https://bugzilla.gnome.org/show_bug.cgi?id=643775
2011-04-01 10:56:16 +02:00
Thiago Santos
c3aae3dc17
oggmux: Keep track of pad's segments
...
https://bugzilla.gnome.org/show_bug.cgi?id=643775
2011-04-01 10:56:15 +02:00
Sebastian Dröge
026776ca23
textoverlay: Add support for xBGR and RGBx
...
Now all RGB variants are supported.
2011-04-01 10:39:31 +02:00
Lane Brooks
200ee96338
textoverlay: Added support for ARGB and other RGB alpha variants
2011-04-01 10:36:36 +02:00
Lane Brooks
e2150b11ff
textoverlay: converted AYUV to use 'A OVER B' alpha compositing
...
'A OVER B' compositing is explained at
http://en.wikipedia.org/wiki/Alpha_compositing .
Previously, overlaying text on a transparent background image left the
text overlay also transparent. This pipeline shows such an example:
gst-launch videotestsrc pattern=white ! video/x-raw-yuv,format=\(fourcc\)AYUV ! alpha alpha=0.0 ! textoverlay text=Testing auto-resize=False font-desc=60px ! videomixer ! ffmpegcolorspace ! autovideosink
With this patch, text is composited "OVER" the background image and
thus is visible regardless of the alpha of the background image. The
overlay in the above pipeline works after applying this patch.
2011-04-01 10:35:08 +02:00
Wim Taymans
248ab2d064
Fix for latest API changes
2011-03-30 16:50:45 +02:00
Wim Taymans
68814a6988
remove deprecated buffer methods
2011-03-29 11:08:19 +02:00
Wim Taymans
3712ca2da4
oggparse: fix for _make_writable
2011-03-28 20:19:24 +02:00
Wim Taymans
e1869fa267
Merge branch 'master' into 0.11-fdo
2011-03-28 20:13:59 +02:00
Wim Taymans
536e86e28f
tests: fix more checks
2011-03-28 19:23:38 +02:00
Wim Taymans
04f74e5642
plugins: more porting
2011-03-28 10:20:06 +02:00
Wim Taymans
eba165191f
theora: port to new memory API
2011-03-27 20:15:46 +02:00
Wim Taymans
f379a5dacb
plugins: more porting to new memory API
2011-03-27 18:30:24 +02:00
Wim Taymans
5244770775
plugins: fix for new memory API
2011-03-27 17:16:10 +02:00
Tim-Philipp Müller
5aa02968c9
oggparse: fix list iteration code
...
Not that it really matters, but let's fix it before someone
notices and makes fun of us.
2011-03-26 19:38:17 +00:00
Tim-Philipp Müller
a7a305a18f
oggparse: make sure buffer metadata is writable before setting caps on buffers
2011-03-26 11:59:54 +00:00
Mart Raudsepp
093a91eec8
textoverlay: Clean up alignment docs a bit and remove horiz top alignment enum
2011-03-16 15:03:51 +00:00
Blaise Gassend
185a8ddcaa
alsamixer: Store return values of poll functions in a signed integer
...
Negative return values are used for errors and storing
them in an unsigned integer will make it impossible to
detect the errors.
Fixes bug #644845 .
2011-03-15 19:48:21 +01:00
Wim Taymans
95f7fd8edf
Merge branch 'master' into 0.11-fdo
2011-03-15 11:11:56 +01:00
Sebastian Dröge
a38fd9f9ec
oggmux: Increase the seen header packets count when seeing a header packet
...
This fixes muxing of Speex content and possibly other formats where the
header detection works by counting the packets.
Fixes bug #644745 .
2011-03-14 19:44:41 +01:00
Stefan Kost
9ac74c59db
textoverlay: use a class wide mutex to work around pango reentrance issues
...
Pango is not reentrant. Use a class wide mutex to protect pange use in
gst_text_overlay_render_pangocairo(). This works reliable in contrast to the
hack in my previous commit.
Fixes Bug #412678
2011-03-14 11:17:10 +02:00
Stefan Kost
3294ecda7d
Revert "textoverlay: add a hack to init the pango engine"
...
This reverts commit fee3266056
.
2011-03-14 11:17:10 +02:00
Stefan Kost
1d73ea887d
textoverlay: drop trailing whitespaces
2011-03-14 10:43:42 +02:00
Stefan Kost
fee3266056
textoverlay: add a hack to init the pango engine
...
Layout a single char to pre-create all resources.
2011-03-14 10:43:42 +02:00
Wim Taymans
c6dd11981d
Merge branch 'master' into 0.11
...
Conflicts:
configure.ac
gst-libs/gst/pbutils/Makefile.am
2011-02-28 11:47:44 +01:00
Sebastian Dröge
461d9f2f2c
oggmux: Don't handle GstCollectData as GstObject, use the pad instead
2011-02-24 16:22:53 +01:00
Edward Hervey
3fe2777b54
Revert "oggmux,adder: Check if collectpads has been freed"
...
This reverts commit 6d150873e8
.
Depends on a core commit that was reverted.
2011-02-21 12:04:09 +01:00
David Schleef
6d150873e8
oggmux,adder: Check if collectpads has been freed
...
Core now calls release_pad in finalize, which is usually after
the collectpads has been unreffed.
2011-02-20 23:49:54 -08:00
David Schleef
9745a41ea3
theoraenc: move debug category init earlier
2011-02-17 18:29:56 -08:00
David Schleef
15e23414d3
oggparse: better detection of delta unit flag
2011-02-17 18:29:56 -08:00
David Schleef
f499810bdc
theoraenc: Set speed level while running
2011-02-17 18:29:56 -08:00
Ralph Giles
d467eb708a
Set the theoraenc speed-level property from libtheora's defaults.
...
The speed-level property, which allows callers to trade of encoding
quality for speed in the libtheora api, has a version-dependent
maximum and default values. Instead of hardcoding the acceptable
range for the theoraenc element's presentation of this setting,
we query the library directly at class initialization time and
set the maximum and default values from that. If the query fails,
we fall back to the previous default setting.
To keep the values reported by gst-inspect (which I'm told use
the spec values from the class) with those available on an\
instantiated element, we remove to setting of enc->speed_level
from the initializer and instead pass G_PARAM_CONSTRUCT to
the property spec flags, asking g_object to set this property
when theoraenc objects are constructed.
NB in theory the maximum speed-level could depend on the actual
video caps. If later versions of libtheoraenc do this, a second
call will need to be made from theora_enc_reset to update the
property, since this function is mostly useful for realtime
adjustment of performance while the pipeline is running.
2011-02-17 18:29:56 -08:00
Sjoerd Simons
46f3e7c6fd
theoraenc: Don't reset the video quality setting the bitrate
...
libtheora has two encoding modes, CBR, where it tries to hit a target
bitrate and VBR where it tries to achieve a target quality.
Internally if the target bitrate is set to anything other then 0 the
encoding-mode is CBR.
This means that the gstreamer element can leave the video_quality
setting alone as long as the user is tweaking the bitrate. Which has the
nice side-effect that if the user explicitely sets the bitrate to 0
(which is actually the default), the quality value doesn't get reset and
one ends up encoding VBR at quality-level 0...
2011-02-14 16:03:56 +01:00
Vincent Penquerc'h
96a1a9dec6
oggmux: ensure serialnos are unique
...
We do that by checking a newly generated one is not already used in
an existing stream, and doing it again if it is.
https://bugzilla.gnome.org/show_bug.cgi?id=640211
2011-02-03 09:29:28 +00:00
Tim-Philipp Müller
54c19ba6de
oggmux: free stream map caps when done
2011-02-02 17:34:42 +00:00
Tim-Philipp Müller
2eac43bd73
oggmux: keep IN_CAPS flag check for header buffers as fallback
...
In case the ogg mapper doesn't handle all the accepted input formats
(although it really should). Saves us error handling for that case
though. Also log caps properly.
https://bugzilla.gnome.org/show_bug.cgi?id=629196
2011-02-02 17:34:41 +00:00
Vincent Penquerc'h
440002a137
oggmux: use oggstream for less brittleness in recognizing headers
...
Using the IN_CAPS flag for this is brittle, and will fail if either
vorbisparse or vorbistag (which is itself based on vorbisparse) is
inserted between oggdemux and oggmux. Possibly other elements too
(eg, theoraparse, etc).
Using oggstream ensures we Get It Right More Often Than Not.
https://bugzilla.gnome.org/show_bug.cgi?id=629196
2011-02-02 17:34:41 +00:00
Vincent Penquerc'h
b7664eae71
oggmux: do not skip a pageno at start
...
Discontinuities are automatically signalled by oggdemux at the start
of a new stream. When oggmux is yet to output actual data pages,
do not signal these discontinuities in the ogg stream.
This patch may miss some actual discontinuities at the very start of
a stream, but avoids the spurious missing pages when encoding happens
normally.
A better fix might involve finding a way to distinguish between actual
data discontinuities and discontinuities merely marking the start of
a new stream.
Fixes an issue with ogg page numbering (would skip a number for no
reason, which then looks like a packet was lost somewhere) when
re-muxing an ogg stream, e.g. when re-tagging in rhythmbox.
https://bugzilla.gnome.org/show_bug.cgi?id=629196
2011-02-01 17:25:43 +00:00
Tim-Philipp Müller
9805bdfcc8
theoraenc: clean up property descriptions
...
Remove "This property requires libtheora version >= 1.1" qualifiers
from property descriptions. They aren't needed any longer now that
we require libtheora >= 1.1.
2011-02-01 16:08:13 +00:00
Vincent Penquerc'h
d144f7a3a5
oggmux: cleanup
...
Remove a pointless string concatentation, and fix an off-by-one in
packetno in a log.
https://bugzilla.gnome.org/show_bug.cgi?id=640189
2011-01-24 20:01:24 +01:00
Sreerenj Balachandran
7cfa18545c
oggdemux: Remove dead code
2011-01-24 19:40:00 +01:00
Yang Xichuan
cb9607632f
oggparse: Make gst_ogg_parse_submit_buffer() safe
...
By not passing zero-sized buffers to ogg_sync_buffer()
and checking the return values of libogg functions.
Fixes bug #639136 .
2011-01-24 19:39:59 +01:00
Lane Brooks
876bf233fb
textoverlay: Add support for vertical center alignment
...
Fixes bug #639159 .
2011-01-24 19:39:59 +01:00
Yang Xichuan
43553b4dcb
oggdemux: remove outdated comment
...
https://bugzilla.gnome.org/show_bug.cgi?id=639121
2011-01-10 12:34:54 +00:00
Tim-Philipp Müller
b6ae695174
textoverlay: make text property controllable too
...
Because we can, and because it's the most interesting one
to control really, after xpos/ypos.
2011-01-06 23:08:34 +00:00
Lane Brooks
e674178331
textoverlay: make some properties controllable
...
https://bugzilla.gnome.org/show_bug.cgi?id=638859
2011-01-06 23:02:23 +00:00
David Schleef
3c4466b816
oggdemux: ignore header pages when looking for keyframe
...
This was causing keyframe_granule to be set to 0 for all streams
when seeking to the beginning of the stream, i.e., at the
beginning of playback. Fixes #619778 .
2011-01-06 12:34:32 -08:00
Vincent Penquerc'h
b03b223fb1
oggstream: when the last keyframe position is not known, do not use -1
...
Instead, use either 0 or 1, depending on bitstream version, which give
the correct result for streams which aren't cut off at start.
This allows that function to not return negative granpos.
https://bugzilla.gnome.org/show_bug.cgi?id=638276
2011-01-06 12:34:32 -08:00
Tim-Philipp Müller
542256fd55
ogg: fix typo in comment
2010-12-29 11:51:42 +00:00
Vincent Penquerc'h
a5533c21d9
oggstream: fix interpretation of Theora granule position
...
The offset part of the granpos is not a sign of the newer encoding.
Use the version number instead.
This fixes the criticals thrown by theoraparse, and (at last) the
remaining part of #553244 .
2010-12-29 12:40:25 +01:00
Wim Taymans
68e64770a0
oggdemux: handle pads that are not added yet
...
Don't try to stream data on pads that are not added yet. This happens while we
discover the different streams.
2010-12-28 19:39:18 +01:00
Vincent Penquerc'h
85cafac6af
oggstream: implement tag extraction for Kate streams
...
This will mainly allow Totem to know the language of those streams,
so the subtitle selection menu gets properly filled out.
https://bugzilla.gnome.org/show_bug.cgi?id=638005
2010-12-27 10:53:24 +00:00
Vincent Penquerc'h
dd135119d9
oggdemux: set headers on caps
...
This will allow switching from one stream to another without having to send
the headers for the new stream again.
https://bugzilla.gnome.org/show_bug.cgi?id=637927
2010-12-25 16:55:15 +01:00
David Schleef
0c4820914c
oggstream: Fix parsing of theora size
2010-12-22 15:30:36 -08:00
Vincent Penquerc'h
e443ae6000
oggdemux: Don't use gst_pad_alloc_buffer()
...
allocate buffers using gst_buffer_new_and_alloc() instead of
gst_pad_alloc_buffer_and_set_caps(), as the first one will
cause the pad to block, and we don't want that since that will
prevent subsequent pads from being fed if a block occurs at
start, when all pads must be fed for playback to start.
This fixes autoplugging of the tiger element and other things.
https://bugzilla.gnome.org/show_bug.cgi?id=637822
2010-12-22 20:19:15 +01:00
Wim Taymans
1dafd7136d
vorbisdec: keep timestamps when no decoded output
...
Keep track of the timestamps even when we didn't generate decodable output.
2010-12-21 13:39:27 +01:00
Wim Taymans
eac243bc01
vorbisdec: avoid using invalid timestamps
2010-12-21 13:39:27 +01:00
Vincent Penquerc'h
22aa87e98f
ogg: implement packet duration query for kate streams
...
https://bugzilla.gnome.org/show_bug.cgi?id=637519
2010-12-18 20:33:09 +01:00
Vincent Penquerc'h
270bac8158
timeoverlay: add missing break
...
https://bugzilla.gnome.org/show_bug.cgi?id=637377
2010-12-16 11:41:02 +01:00
Wim Taymans
f22687bacc
use _object_ref_sink() when we can
2010-12-07 11:31:30 +01:00
Wim Taymans
f355419679
alsaprobe: don't abuse the object class lock
...
don't abuse the class lock but use a new static lock for protecting the probed
list of devices.
2010-12-07 11:30:55 +01:00
Mark Nauwelaerts
524b7c60f2
oggstream: additional tag extraction
...
... supporting theora, flac, speex, celt.
Fixes #629349 .
2010-12-03 13:54:08 +01:00
Mark Nauwelaerts
d5055a9f23
oggstream: use separate tag extraction vfunction
2010-12-03 13:54:06 +01:00
Mark Nauwelaerts
cc3dfd31d0
oggstream: refactor vorbis comment tag extraction
2010-12-03 13:54:04 +01:00
Mark Nauwelaerts
a4aacb9d2c
oggdemux: plug some oggstream leaks
2010-12-03 13:54:01 +01:00
Mark Nauwelaerts
515f33bd3b
oggstream: streamline tag extraction and prevent some leaks
2010-12-03 13:53:59 +01:00
Mark Nauwelaerts
63ba9eafb1
oggdemux: send stream tags after newsegment and global tags
2010-12-03 13:53:56 +01:00
Sreerenj Balachandran
2319c85f46
oggdemux: perform more (vorbis comment header) tag extractions
...
In particular, move comment header parsing to gstoggstrem.c.
Thanks to Felipe Contreras.
Fixes #629349 (partially).
2010-12-03 13:53:54 +01:00
David Schleef
d421ccb440
oggstream: fix incorrect warning on skeleton headers
2010-12-02 17:36:33 -08:00
David Schleef
2b91bd1bad
oggparse: Set DELTA_UNIT on buffers
2010-12-02 17:36:26 -08:00
Sebastian Dröge
1abb8257a0
gnomevfssrc: Remove dead assignment
2010-12-02 19:04:29 +01:00
Wim Taymans
e0d683f3ed
oggdemux: fix wrong flowreturn handling
...
Oggdemux will currently try to pad alloc a buffer from the peer when it is
reading the header files. This is a relic from the time where we had an internal
parser and needs to be removed at some point in time.
The problem is that when there is no peer pad yet (which is normal when
collecting headers) we should still continue to parse all the packets of a
page instead of erroring out on NOT_LINKED.
Fixes #632167
2010-10-29 11:48:18 +01:00
Wim Taymans
6c14f6c970
ogg: add some more debug statements
2010-10-29 11:47:53 +01:00
Stefan Kost
83c14483ed
various: add a missing G_PARAM_STATIC_STRINGS flag to object properties
2010-10-13 16:13:31 +03:00
Wim Taymans
fea50233bb
oggdemux: only keep last valid granulepos
...
Only keep the last valid granulepos we see when scanning the last
pages. It is possible that the last page that we inspect has a -1 granulepos, in
which case we want to keep the previous valid time instead.
Fixes #631703
2010-10-12 16:06:57 +02:00
David Schleef
9dc59cff15
oggdemux: Fix check for last page
2010-10-12 16:06:57 +02:00
David Schleef
64dfad46f2
oggdemux: change checks from is_skeleton to is_sparse
2010-10-12 16:06:57 +02:00
David Schleef
5ae2f04856
oggdemux: move is_sparse into stream map
2010-10-12 16:06:56 +02:00
Tim-Philipp Müller
a044b62cf5
theoradec: expose telemetry properties only if libtheora was compiled with --enable-telemetry
...
Since this is just a debugging feature and libtheora will usually not be
compiled with that option enabled, we should maybe just hide these properties,
since they won't work anyway, and avoid confusing warnings.
Also rename properties to make them less cryptic.
https://bugzilla.gnome.org/show_bug.cgi?id=628488
2010-10-10 18:20:46 +01:00
Alexey Fisher
ab52e15e3d
theoradec: add properties to enable debugging telemetry overlay
...
The theora decoder can overlay debugging information on the output
video. This functionality is only available if libtheora has been
compiled with --enable-telemetry. For more details see:
http://people.xiph.org/~xiphmont/demo/theora/demo2.html
Based on original patch by Michael Smith <msmith at xiph org>
https://bugzilla.gnome.org/show_bug.cgi?id=628488
2010-10-10 18:20:46 +01:00
Guillaume Emont
b41cd04289
oggdemux: fix seeking with negative rate with skeleton
...
Files with a skeleton, or other files with a stream that ends before the end of
the chain would start playing from the end of the chain when trying to seek with
a negative rate at a position between the end of any stream and the end of the
chain.
This is due to the loop in _do_seek() assuming that pages will be encountered
for all streams shortly after the place where we want to seek, as found by
do_binary_search().
In the first iteration of the loop, stream ends are now checked against the
time of the current page.
2010-10-10 18:26:13 +02:00
Mark Nauwelaerts
53b0c20c7c
vorbisdec: reverse playback; decode pending buffers upon EOS
2010-10-06 12:05:27 +02:00
Wim Taymans
7fe3657d86
libvisual: only drop frames that are really too old
...
Also take the frame duration into account so that we don't drop frames that are
partially past the estimated QoS time.
2010-10-05 12:22:39 +02:00
Wim Taymans
cc470dfb68
libvisual: add latency query
...
Add our own latency to the latency query reply from upstream.
2010-10-05 12:22:39 +02:00
Wim Taymans
0e395146c3
libvisual: add some defines
...
Add some defines for width/height/fps and a define for the minimum amount of
samples we need to buffer.
2010-10-05 12:22:39 +02:00
Wim Taymans
88cf7a2156
parse: Don't error on discont
...
We don't need to error out when we detect a discontinuity.
2010-10-04 17:27:00 +02:00
Wim Taymans
3d26fc3d8f
theoraparse: set caps on streamheader too
2010-10-04 17:09:39 +02:00
David Schleef
71f89ac092
theoraenc: ptalarbvorm speed level goes to 3
2010-09-24 21:30:44 -07:00
Olivier Crête
91f89f490c
theoraenc: Make the bitrate/quality dynamically modifiable
...
https://bugzilla.gnome.org/show_bug.cgi?id=630303
2010-09-22 11:41:13 -04:00
Tristan Matthews
a351bf0702
gnomevfsrc: set GST_PARAM_MUTABLE_READY flag on the "handle" property
...
Fixes #629672
2010-09-15 17:07:16 +03:00
Sebastian Dröge
ca24ece36b
textoverlay: Add support for AYUV
2010-09-01 17:52:31 +02:00
Rob Clark
54f4aa28c2
textoverlay: fix Cb/Cr inversion for colored text overlays
...
In case of odd values for xpos or ypos, the division by two in CbCr
plane would result in an off-by-one error, which in the case of NV12,
NV21, or UYVY would cause inversion of blue and red colors. (And
would be not so easily noticed for I420 as it would just cause the
chroma to be offset slightly from the luma.)
This patch also fixes a silly typo from the earlier patch which
added NV12 support that broke UYVY support.
2010-08-30 22:53:26 +02:00
Sebastian Dröge
6357bdef63
oggdemux: Don't reset the pad when pushing resulted in NOT_LINKED
...
The pad might be linked later and after resetting it it will
only work after resetting all of oggdemux.
2010-08-30 15:50:26 +02:00
Sebastian Dröge
b899bca94d
oggdemux: Don't use GST_FLOW_IS_FATAL()
...
And while we're at it, handle WRONG_STATE as error too
in oggdemux and WRONG_STATE and NOT_LINKED in oggaviparse.
2010-08-27 17:23:46 +02:00
Sebastian Dröge
faebf174fb
textoverlay: Support NV21 too and minor cleanups
2010-08-24 10:12:53 +02:00
Chris Shoemaker
6bd90dc0cc
clockoverlay: only rerender text if time string has changed
...
The textoverlay element will rerender the text string whenever
overlay sets the 'need_render' flag to TRUE. Previously, we
lazily set the flag to TRUE every time the time string was requested.
Now, we save a copy of the previously given string, and only set
'need_render' to TRUE if the string has changed.
In my tests with a 30fps video stream, and a time string including
a seconds field, this change reduced the CPU usage of the clockoverlay
element from 60% to 5%.
Fixes bug #627780 .
2010-08-24 09:29:33 +02:00
Rob Clark
1b6918709c
textoverlay: add NV12 support
...
Fixes bug #627768 .
2010-08-24 09:25:55 +02:00
Wim Taymans
7b310c6a03
alsasrc/sink: add property to get the card name
...
fixes #627203
2010-08-18 16:45:37 +02:00
Wim Taymans
693919ff87
alsa: add method to retrieve the card name
...
Reuse an existing method to retrieve the card name.
2010-08-18 16:42:13 +02:00
Stefan Kost
0fee4ed3d0
alsa: remove 'dir' out variable
...
Alsa seems to expect that we initialize it. Remove the variable and pass NULL
as we actually don't use it. In alsasink also #ifdef one section that is
grabing diagnostics to be disabled, when logging is disabled (the code was
using the out parameter as well).
Fixes #626125
2010-08-12 15:41:59 +03:00
Mark Nauwelaerts
90a79b4c60
textoverlay: configurable text color and position
...
Rather than only left, right, top, etc, allow for horizontal and vertical
positioning on a scale from 0 to 1.
Also cater for configuring rendered text color.
Fixes #624920 .
API: GstTextOverlay:xpos
API: GstTextOverlay:ypos
API: GstTextOverlay:color
2010-08-09 09:49:12 +02:00
Sebastian Dröge
5fd9fc13d5
oggstream: static forward declarations are forbidden by the C standard
...
...and actually cause compiler errors on VC++. Change it to an extern
forward declaration and non-static definition.
2010-08-08 17:42:04 +02:00
Sebastian Dröge
c95d0034af
theoraenc: Implement two pass encoding
...
Fixes bug #621349 .
2010-07-16 17:40:12 +02:00
Sebastian Dröge
5318e71b4d
configure: Require libtheora >= 1.1
...
It's more than a year old at the time of the next -base release,
has many encoder and decoder improvements and gets us rid of a lot
of #ifdefs
2010-07-16 17:39:22 +02:00
Sebastian Dröge
ecea88e0d2
theora: Use PROP_ instead of ARG_ for property enum values
2010-07-16 17:39:22 +02:00
Fredrik Söderquist
3c06cabb0b
oggdemux: Handle errors from _get_next_page in _do_seek.
...
If the source element failed here, oggdemux would crash.
Fixes #623218 .
2010-06-30 17:20:55 +01:00
Sebastian Dröge
9a971980b7
oggdemux: activate_chain must not be called with a NULL chain
...
It will crash later and shouldn't really happen anyway unless
something is really wrong.
2010-06-14 11:11:56 +02:00
Sebastian Dröge
9c570dbced
gnomevfssrc: Fix possible NULL pointer dereference
...
It's always an error if gst_buffer_try_new_and_alloc() returns NULL
2010-06-14 11:08:10 +02:00
Sebastian Dröge
a34fe5df35
giostreamsrc: Fix copy&paste error in the docs
2010-06-14 09:53:31 +02:00
Tim-Philipp Müller
0f3ea721e4
ogg: fix debug message printf format some more
...
Just cast the pointer diff, so it works everywhere without
warnings. Can't use %tu, because that modifier is C99. Warning
was: "format '%li' expects type 'long int', but argument 8 has
type 'int'".
2010-06-14 00:33:04 +01:00
Philippe Normand
c25bf9777a
oggdemux: Fix format string compiler warning on OS X
2010-06-12 13:04:43 +02:00
Tim-Philipp Müller
dab38bb8a0
cdparanoia: check for cdparanoia with pkg-config first
...
cdparanoia now has a .pc file in post-0.10.2 SVN, so use
that to check for cdparanoia before we try all the other
checks. Besides being generally nicer, this may help with
correctly detecting cdparanoia on OSX some day (see #609918 ).
2010-06-11 22:16:26 +01:00
Sebastian Dröge
4caee01a06
oggdemux: Handle SEEKING query in push mode too
2010-06-09 17:02:59 +02:00
Sebastian Dröge
bb7773b40a
oggdemux: Update the total time from the Skeleton 4 indexes
...
Fixes bug #620939 , see bug #607945 .
2010-06-09 16:38:34 +02:00
Sebastian Dröge
7bade30f5e
oggstream: Implement latest version of the Skeleton 4.0 spec
...
Fixes bug #620939 .
2010-06-09 16:34:05 +02:00
Sebastian Dröge
3f3691085a
oggdemux: Implement correct parsing of Skeleton 4.0 index packets
2010-06-08 13:11:05 +02:00
Sebastian Dröge
cba98e05cf
oggdemux: Add parsing of Skeleton 4.0 indexes
2010-06-08 12:01:15 +02:00
Sebastian Dröge
f213c8ebe3
oggdemux: Parse segment length and content offset from fishead
...
And print them for debugging purposes. Not sure if we can do anything useful
with this information.
2010-06-08 11:40:32 +02:00
Sebastian Dröge
aa8daa862e
oggdemux: Parse Skeleton stream major/minor version
2010-06-08 11:31:35 +02:00
Sebastian Dröge
7eea3c25c9
oggdemux: Use binary search for searching in the index
2010-06-08 11:26:26 +02:00
Sebastian Dröge
981af36b71
oggmux: Start a new page for every CMML buffer
2010-06-08 07:34:53 +02:00
Jonathan Matthew
c5c1b6815a
gio: map GIO NO_SPACE error to NO_SPACE_LEFT
...
Fixes bug #620140 .
2010-05-31 15:57:28 +02:00
Sebastian Dröge
8a678da1fe
oggdemux: Fix sizes again, this time for real
2010-05-20 14:21:19 +02:00
Sebastian Dröge
bf9d573cd1
oggdemux: Fix size checks
2010-05-20 13:58:14 +02:00
Sebastian Dröge
8fd69f2cb7
oggdemux: Drop all other Ogg VP8 header packets and make VP8 mapping check a bit more strict
2010-05-20 10:19:29 +02:00
Sebastian Dröge
563a96ef1a
ogg: Some more minor adjustments for the VP8 Ogg mapping
2010-05-20 08:52:49 +02:00
Sebastian Dröge
838c96fe8f
ogg: Update to the latest VP8 mapping
2010-05-19 21:35:19 +02:00
Sebastian Dröge
ac2d0170a8
oggdemux: Fix granulepos->key granule calculation for Dirac
2010-05-19 19:23:07 +02:00
Sebastian Dröge
d6b6d0cdad
oggdemux: Add support for mapping specific granulepos to key granule mapping
2010-05-19 19:23:07 +02:00
Sebastian Dröge
5fc1309703
ogg: Implement Ogg VP8 mapping
2010-05-19 19:23:07 +02:00
Wim Taymans
02a78f528c
oggdemux: don't seek when no current chain
...
Avoid a crash when we try to seek when there is no current chain.
2010-05-06 13:10:54 +02:00
Wim Taymans
e33425e4d0
oggdemux: ignore the skeleton start time
...
Ignore the skeleton start time as it is usually wrong for live streams
and we have the needed logic to calculate it anyway.
2010-05-06 12:21:38 +02:00
Wim Taymans
27de725038
oggdemux: wait for headers before exposing chains
...
Wait until we have all the stream headers before we start exposing the streams
of a chain.
2010-05-06 12:06:09 +02:00
Wim Taymans
549bc3c80e
oggdemux: use index to estimate bitrate
...
When we have an index, use it to much more accurately estimate the total stream
bitrate.
2010-05-06 10:58:01 +02:00
Stefan Kost
2e3cfe4546
libvisual: trucate own caps, instead of copying and using the first only
...
We got the caps from an intersect, it is our own, hence we can truncate it.
2010-05-06 09:11:17 +03:00
Stefan Kost
4e6cb3e91f
vorbis: have a copy_sample func as a func pointer
...
Make some more variants for copy_sample funcs and use them via function pointer.
2010-05-06 08:22:36 +03:00
Tim-Philipp Müller
f22b115804
oggdemux: printf format fixes
2010-05-05 13:25:02 +01:00
Wim Taymans
7b3f9aa504
oggdemux: handle corrupt indexes
...
Make sure we handle and receover from corrupt indexes.
2010-05-04 17:38:50 +02:00
Wim Taymans
e84b3c838c
oggdemux: fix EOS check
2010-05-04 15:47:29 +02:00
Wim Taymans
50e556cc84
oggstream: avoild division by 0
2010-05-04 13:51:07 +02:00
Wim Taymans
12929944a7
oggdemux: cleanup unused defines
2010-05-04 13:50:46 +02:00
Wim Taymans
a57b461af8
oggdemux: use the index in push mode when we can
...
When seeking in push mode, try to use the index first before we use the bitrate
estimation.
2010-05-04 13:36:58 +02:00
Wim Taymans
03c3aa6377
oggdemux: use skeleton duration when possible
2010-05-04 13:06:24 +02:00
Wim Taymans
5c770a17db
oggstream: parse duration from 3.3 skeleton
2010-05-04 13:02:19 +02:00
Wim Taymans
ff4479f00a
oggdemux: more index parsing work
2010-05-04 12:11:18 +02:00
Wim Taymans
97319a6276
oggdemux: clean up fishead/fisbone parsing
...
Remove some redundant code for parsing fishead streams. Actually use the data we
parsed (mostly start_time).
2010-05-04 12:05:15 +02:00
Wim Taymans
f96caa17b3
oggdemux: implement seek in push mode
...
Refactor start time collection code.
When we receive a flush_stop, resync to the new start time and push out a new
segment event.
2010-05-04 11:26:14 +02:00
Wim Taymans
9be4e53001
oggdemux: make event handling better
...
Explicitly handle FLUSH events and resync on FLUSH_STOP.
Make send_event return a boolean.
Use more performant send_event function to forward events.
2010-05-04 11:26:14 +02:00
Wim Taymans
c4ec1c4c62
oggdemux: implement seeking in pushmode
...
Convert seek requests to bytes using the bitrate and forward them upstream. Does
not quite work because the flushing and resyncing is not implemented yet.
2010-05-04 11:26:14 +02:00
Wim Taymans
d9b7003926
oggdemux: refactor for seeking in pushmode
...
refactor the code a little to prepare for seeking in push mode
2010-05-04 11:26:14 +02:00
Wim Taymans
f9ca4f6097
oggdemux: use bitrate to estimate length in pushmode
...
Parse the bitrate from the various streams.
Use the bitrate and the upstream length in bytes to estimate the total stream
duration in push mode.
2010-04-30 17:43:06 +02:00
Tim-Philipp Müller
63931dc80b
Bump GLib requirement to 2.20
...
See http://gstreamer.freedesktop.org/wiki/ReleasePlanning/GLibRequirement
2010-04-30 14:08:50 +01:00
Mark Nauwelaerts
e23d6bbda7
oggdemux: only EOS when all streams are EOS
2010-04-30 12:51:54 +02:00
Mark Nauwelaerts
e8ae2adef1
oggdemux: fix debug message
2010-04-30 12:51:51 +02:00
Stefan Kost
efe59faa93
docs: fix typo in link name
2010-04-16 15:53:27 +03:00
Tim-Philipp Müller
62b1764552
playback, ogg: dist new gstplayback.h and gstogg.h
2010-04-09 09:26:08 +01:00
Edward Hervey
e528e73268
ext: Invert rank of gio and gnomevfs elements
2010-04-08 12:21:50 +02:00
Tim-Philipp Müller
930f72c6b0
alsa: don't pass non-constant strings as printf format strings
...
Fixes 'format not a string literal and no format arguments' compiler
warning when compiling with -DGST_DISABLE_PRINTF_EXTENSION.
2010-04-08 01:26:55 +01:00
Sebastian Dröge
44e474f76d
alsa: Ignore errors when unpreparing or closing the device
...
Errors could happen here when the device was removed already
or when something is broken anyway. If errors happen here and
they're propagated, the element can't shutdown cleanly.
Fixes bug #614545 .
2010-04-04 21:18:04 +02:00
Sebastian Dröge
1e8f3f7689
alsamixer: Detect errors from device polling, stop the task and post an error message
...
Partially fixes bug #614545 .
2010-04-04 21:00:52 +02:00
Edward Hervey
daa5b34d5f
gstgnomevfssink: Return the proper GstFlowReturn.
...
We were always returning GST_FLOW_OK previously even if we encountered errors.
2010-04-01 13:48:42 +02:00
David Schleef
681721466d
theoraenc: 0-length packets are delta units
2010-03-29 20:54:46 -07:00
Tim-Philipp Müller
e1f38a685b
build: build plugin and example directories in parallel if make -jN is used
...
We know our plugins and examples are independent of each other, so may
just as well build them in parallel. Makes the output a bit messy, but
that shouldn't be a problem and can easily be avoided with make -j1.
2010-03-29 00:26:59 +01:00
Sebastian Dröge
482dd1e56a
oggdemux: Provide packet duration function for old FLAC mapping too
...
Fixes bug #613809 .
2010-03-26 15:57:39 +01:00
Tim-Philipp Müller
197fe6d0d1
gio: add cast to avoid compiler warning with old GLib versions
...
g_file_input_stream_query_info() had char * instead of const char *
as attribute argument before 2.20.
Fixes #613387 , spotted by tetsuyayasuda@gmail.com
2010-03-20 13:42:32 +00:00
Wim Taymans
9c8c93806d
theoradec: add QoS messages to the decoder
...
Post QoS messages when we drop a frame because of QoS.
2010-03-19 15:37:04 +01:00
Tim-Philipp Müller
58a92964c6
build: Makefile.am fixes
...
Mostly just add missing $(GST_BASE_CFLAGS), but also fix up order
of flags (see docs/random/moving-plugins).
2010-03-19 01:00:36 +00:00
Benjamin Otte
1471df894a
Add -Wformat-nonliteral -Wformat-security
...
And fix the resulting compile failures.
I'm sorry about the patch necessary to gstclockoverlay.h but after
talking to Tim we decided we can live with it.
2010-03-17 12:09:25 +01:00
Benjamin Otte
420d7b111d
More ENABLE_NLS fixes
2010-03-16 18:31:15 +01:00
Benjamin Otte
3bd4aa26ff
Add -Wwrite-strings to configure
...
Fixes for the code included
2010-03-16 17:41:51 +01:00
Benjamin Otte
5e21fa5e0e
gst_element_class_set_details => gst_element_class_set_details_simple
...
Also change my email from the old university one to the current one.
2010-03-16 17:41:50 +01:00
David Schleef
ed438e5539
theoradec: add chroma-site to caps
2010-03-15 01:34:09 -07:00
David Schleef
085d7e20bd
theoradec: add color-matrix to caps
2010-03-14 19:10:16 -07:00
David Schleef
460c649b5f
oggdemux: Don't drop zero-sized packets
...
Zero-sized packets have relevence to Theora.
2010-03-14 13:15:13 -07:00
Benjamin Otte
3a7d632a59
Add -Wredundant-decls to warning flags
...
... and fix all the warnings that flag throws.
2010-03-11 15:38:18 +01:00
Benjamin Otte
43b1683421
Add -Wmissing-declarations -Wmissing-prototypes to warning flags
...
Includes all the fixes necessary to make stuff compile again.
2010-03-11 13:50:31 +01:00
Benjamin Otte
86a6b39b2c
gio: Remove unused function
2010-03-11 13:34:45 +01:00
Tim-Philipp Müller
3dd39392c2
vorbisparse: make sure header buffer metadata is writable before modifying it
...
Fixes unit test failures with core git.
2010-03-11 11:19:04 +00:00
Mark Nauwelaerts
708956e281
vorbisdec: remove unused field
2010-03-10 11:24:31 +01:00
David Schleef
1701c706ec
oggmux: Don't flush after every frame for theora
2010-03-09 15:40:18 -08:00
Benjamin Otte
1ad8d6ee03
theora: Fix SIGFPE when using 0/1 framerate
...
libtheora crashes with a 0 framerate, so let's forbid it.
https://bugzilla.redhat.com/show_bug.cgi?id=571289
2010-03-08 22:28:27 +01:00
David Schleef
38e6f0c7ed
oggdemux: fix dirac header parsing
...
Fixes #611900 .
2010-03-08 17:07:57 +00:00
Wim Taymans
1f601e12dc
alsasrc: return right number of bytes that we wrote
2010-03-08 11:25:01 +01:00
Wim Taymans
6eef04c1cb
oggstream: mark skeleton streams correctly
...
Mark skeleton streams because we need to ignore them for calculating the
duration of the stream.
Fixes #611227
2010-03-01 12:17:40 +01:00
Wim Taymans
63593f5f1e
oggdemux: use the chain begin_time instead of our counter
...
We update the passed begintime argument to narrow our search region in the
binary search. This means that it does not always contain the chain begin time
after a couple of bisects. Use the real chain->begin_time to bring the
granuletime to the time in the chain instead.
Fixes #610005
2010-02-23 12:26:15 +01:00
David Schleef
5685e0a4b7
theoradec: Fix chroma copying for 4:2:2
...
Fix mixup of height/width, causing only half the chroma lines to
be copied when outputting buffers. Fixes : #610329 .
2010-02-17 21:30:29 -08:00
Mark Nauwelaerts
8e5e2dbe49
ivorbisdec: set rank to SECONDARY
2010-02-15 12:12:15 +01:00
Mark Nauwelaerts
32dff24552
vorbisdec: also support ivorbis tremor decoder
...
... which only needs a bit of refactoring and extracting to support
the minor difference in (i)vorbis interface.
Fixes #609063 .
2010-02-15 12:11:35 +01:00
Mark Nauwelaerts
5e06eaa517
vorbisdec: reduce some hard-coding
...
... such as assuming float all over, and base src caps on template caps.
2010-02-15 12:10:41 +01:00
Sebastian Dröge
59dc89b3ee
oggparse: Fix another format string compiler warning
2010-02-15 09:04:17 +01:00
Sebastian Dröge
e9f101ffc5
oggdemux: Fix format string compiler warnings
2010-02-15 08:56:25 +01:00
Tim-Philipp Müller
466894d2f4
ogg: theora PAR of 0:N, N:0 or 0:0 is allowed and maps to 1:1
...
See #609252 .
2010-02-15 00:14:03 +00:00
Benjamin M. Schwartz
a09d9fdece
theoradec: PARs of 0:x, x:0 and 0:0 are all allowed and map to 1:1
...
Fixes #609252 .
2010-02-08 11:21:35 +01:00
Vincent Penquerc'h
6b8175d96a
oggdemux: use the default granpos functions for kate streams
...
Set timestamps on kate packets. See bug #600929 .
2010-02-07 10:16:28 +01:00
Sebastian Dröge
4914aeda2f
oggdemux: Don't leak allocated buffers
...
This can happen if the combined flow return is not OK although the
allocation succeeded or if the packet in question is a BOS and we're
not going to push headers.
Fixes bug #608699 .
2010-02-02 10:33:07 +01:00
Vincent Penquerc'h
ed2e09133e
oggdemux: sparse streams aren't timed by end time, and their duration isn't implicit
...
Fixes timestamps and durations on Kate subtitle streams.
See http://www.xiph.org/ogg/doc/ogg-multiplex.html section 'start-time and
end-time positioning' for some more details, and bug #600929 .
2010-01-25 23:50:09 +00:00
Vincent Penquerc'h
25873a050f
oggdemux: properly set up the media type for kate streams
...
See #600929 .
2010-01-25 23:49:53 +00:00
Wim Taymans
e4b68a3658
oggdemux: use right type for the serialno
...
Use a consistent type for the serialno to avoid problems when comparing between
signed and unsigned variants.
Fixes #607926
2010-01-25 15:14:56 +01:00
Wim Taymans
95511c8821
oggdemux: don't push headers twice
...
Don't push the stream headers twice but only in the activation of a chain.
Fixes #607929
2010-01-25 14:00:52 +01:00
Wim Taymans
62f8c3c672
oggdemux: rename a variable
...
Rename the 'seekable' variable to 'pullmode'. We might be able to seek in push
mode too eventually.
2010-01-25 12:31:24 +01:00
Tim-Philipp Müller
e1c319949d
oggdemux: fix crash when freeing headers
...
Use _ogg_packet_free() instead of gst_mini_object_unref in one more
place now that the header list contains ogg packets and not buffers.
file: Stephen_Fry-Happy_Birthday_GNU-nq_600px_425kbit.ogv
2010-01-24 13:32:20 +00:00
Sebastian Dröge
1652005f26
oggdemux: Strip trailing \0 for subtitle OGM streams
...
Fixes bug #607870 .
2010-01-24 08:57:13 +01:00
Sebastian Dröge
a66ce94adc
oggdemux: Correctly set DELTA_UNIT flag for OGM streams
2010-01-23 22:10:09 +01:00
Sebastian Dröge
b38dcf5277
oggdemux: Don't strip all 0-bytes from the end of OGM packets
...
This fixes broken packets pushed downstream by oggdemux for
MPEG4 streams for example.
2010-01-23 22:10:09 +01:00
Sebastian Dröge
592bc87dc9
oggdemux: Extract tags from OGM text streams and don't push them downstream
2010-01-23 22:10:08 +01:00
Sebastian Dröge
541da50c53
oggdemux: Store header/queued packets as ogg_packet and use normal peer chaining functions to pass them downstream
2010-01-23 22:10:08 +01:00
Sebastian Dröge
d78cffb2e8
oggdemux: ...and set caps on queued packet buffers too
2010-01-23 13:20:46 +01:00
Sebastian Dröge
b63a582bf9
oggdemux: Set caps on header buffers
2010-01-23 13:19:44 +01:00
Wim Taymans
4b9666aedb
oggdemux: keep track of added pads
...
Keep track of the pads we added and removed.
Remove some unused fields.
Don't add pads for which we don't have caps.
2010-01-21 17:39:52 +01:00
Wim Taymans
06e2d2791b
oggstream: don't call NULL setup functions
...
If we find a known mapper but it doesn't have a setup function, simply skip it
instead of crashing.
2010-01-21 17:39:51 +01:00
Wim Taymans
4ed58b5882
oggstream: avoid division by 0 on bad annodex streams
2010-01-21 17:39:51 +01:00
Thiago Santos
4b771bff7a
oggdemux: No need to subtract begin time
...
Last stop is already based on the chain start and there is no need
to subtract the chain start as it may lead to a negative overflow.
This was causing seeking issues when the target chain was not
the first one (that has chain start = 0)
Fixes #606382
2010-01-19 08:39:14 -03:00
Thiago Santos
125f7dfdb0
oggdemux: granulepos is relative to its chain
...
When performing seeks, the granulepos should be offset by
its chain start time to avoid using wrong values to
update segment's last_stop. A sample file is indicated on
bug #606382
2010-01-18 15:39:55 -03:00
Sebastian Dröge
82f3adaa9b
theora: Rename source files to have the same name as the headers
2010-01-14 10:10:23 +01:00
Sebastian Dröge
1de4169c1c
vorbis: Rename source files to have the same name as the headers
2010-01-14 10:07:22 +01:00
Sebastian Dröge
d4e9225ed4
vorbis: Move channel layout definitions into a single separate file
...
...instead of having two copies.
2010-01-14 10:05:35 +01:00
Sebastian Dröge
68c6ddc2fc
vorbis: Add official 6.1 and 7.1 channel mappings
...
These are in the Vorbis spec since 2010-01-13. Fixes bug #606926 .
2010-01-14 08:20:38 +01:00
Edward Hervey
7d2c90423a
oggdemux: Fix unitialized variable.
...
If the package isn't handled, gracefully return GST_FLOW_OK.
2010-01-12 16:35:50 +01:00
Wim Taymans
0201326db1
oggdemux: push headers when activating chains
...
Keep a list of headers for each stream of a chain. When a chain is activated,
push the headers before pushing the data so that decoders can sync.
Fix seeking in chains, take the chain start time into account when comparing
timestamps.
See #606382
2010-01-08 16:57:40 +01:00
Mark Nauwelaerts
3f4820d6c2
oggdemux: decide flac header packet by content rather than count
2010-01-06 14:03:44 +01:00
Mark Nauwelaerts
66545eb7a2
oggdemux: reset header packet count at bos page
2010-01-06 14:03:41 +01:00
Olivier Crête
15fb8f9bf7
textoverlay: Ignore zero framerate
...
https://bugzilla.gnome.org/show_bug.cgi?id=606163
2010-01-06 07:49:27 +01:00
Mark Nauwelaerts
8fb183c7c9
oggdemux: enhance flac packet duration calculation
2010-01-05 16:44:58 +01:00
David Schleef
b3c15a340a
theoraenc: Add encoder controls for libtheora 1.1
...
Added drop-frames, cap-overflow, cap-underflow, and rate-buffer.
2009-12-20 17:34:46 -08:00
Wim Taymans
e897373a0a
ogg: ogm video has constant packet duration
2009-12-11 12:20:13 +01:00
David Schleef
118b62a764
oggdemux: implement old fLaC mapping
2009-12-10 22:48:23 -08:00
Wim Taymans
d18118418e
oggdemux: remove redundant fields
2009-12-10 16:09:09 +01:00
Wim Taymans
43bdb13ec2
vorbisdec: adapt to new oggdemux
...
Remove all granulepos hacks and simply use the timestamps from the new oggdemux
like any other decoder.
2009-12-10 13:22:00 +01:00
Wim Taymans
79b25e634c
vorbisdec: fix peer query
2009-12-09 19:04:18 +01:00
Wim Taymans
1a7c8c7919
theoradec: fix query
2009-12-09 17:24:01 +01:00
Wim Taymans
f1fdf5d3e4
theoradec: small cleanups
2009-12-09 16:55:52 +01:00
Wim Taymans
08c16c0db7
vorbisdec: use gst_pad_peer_query()
2009-12-09 16:38:43 +01:00
Sebastian Dröge
01ca87e785
textoverlay: Only flush downstream on seeks for flushing seeks
2009-12-09 09:47:30 +01:00
Sebastian Dröge
d5205bb0fa
textoverlay: Proxy buffer allocation on the video sinkpad to the srcpad
2009-12-09 09:36:26 +01:00
Wim Taymans
1818d795ee
theora: remove granulepos hacks
...
Remove the granulepos hacking now that oggdemux outputs timestamps like any
other demuxer.
2009-12-08 17:37:56 +01:00
Wim Taymans
1ad0e4342e
oggdemux: improve keyframe seeking
...
Improve keyframe seeking.
Fix reverse playback.
2009-12-07 18:49:43 +01:00
Wim Taymans
c53cd385e3
oggdemux: implement keyframe seeking
...
Implement keyframe seeking in oggdemux by doing the double seek trick. First
seek to the required position, then read pages for all streams to grab the
granulepos (to know the timing of the keyframe) of each stream, then seek back
to the first keyframe.
2009-12-07 15:42:05 +01:00
Wim Taymans
56d3856620
oggdemux: fix timestamps after seek
...
After a seek, discard all packets before the packet with the granulepos on it so
that the output buffers contain valid timestamps.
Reorder some code so that we check the timestamps before allocating and pushing
an output buffer.
Do more checks on valid packets in ogm mode.
2009-12-04 16:35:09 +01:00
Wim Taymans
eb4fc976e5
oggdemux: add comment
2009-12-04 15:39:59 +01:00
Wim Taymans
9e222a385c
oggdemux: don't do math with invalid granulepos
...
When the current granulepos is unknown and set to -1, don't try to add durations
to it.
2009-12-04 14:01:11 +01:00
Wim Taymans
96e1c4dbe6
oggdemux: guard against wrong granulepos
...
Clamp the initial granulepos to 0 instead of going negative for some badly muxed
ogg files.
2009-12-04 13:14:57 +01:00
Wim Taymans
05f4605180
theoradec: don't fail on bogus granulepos
...
Do some additional checks on the granulpos timestamp before using it for
calculating the duration because oggdemux generates wrong granulepos now.
Fixes seeking somewhat again.
2009-12-04 12:26:47 +01:00
David Schleef
8bbe0d126a
oggdemux: reimplement OGM support
...
OGM demuxing no longer requires helper elements. It's done internally
in oggdemux. Vorbis comments are still not handled because I don't
have anything to test with.
2009-12-03 20:05:29 -08:00
David Schleef
4378851102
oggdemux: fix for I-frame-only theora
2009-12-03 17:02:11 -08:00
Tim-Philipp Müller
fb07615baa
ogg: log when ogg mapper doesn't accept the setup header packet
2009-12-03 23:43:29 +00:00
Tim-Philipp Müller
8195c26a08
ogg: extract width, height and PAR from theora header and add to caps
2009-12-03 23:43:29 +00:00
Tim-Philipp Müller
295b6c0326
ogg: extract number of channels from FLAC, speex and vorbis headers
...
Because we can.
2009-12-03 23:43:09 +00:00
Tim-Philipp Müller
2752ae841e
ogg: more print fixes
...
gstoggstream.c:419: error: format ‘%lld’ expects type ‘long long int’, but argument 8 has type ‘gint64’
gstoggdemux.c:2253: error: format ‘%lld’ expects type ‘long long int’, but argument 8 has type ‘GstClockTime’
gstoggdemux.c:2333: error: format ‘%lld’ expects type ‘long long int’, but argument 8 has type ‘GstClockTime’
2009-12-03 21:08:42 +00:00
Thiago Santos
098e416ebc
ogg: Fixing some printf format strings
...
Fixes some printf format strings to make it build on mac.
2009-12-03 16:57:48 -03:00
David Schleef
d2c9d7fc1c
oggdemux: handle theora streams with 0 keyoffset
2009-11-26 14:16:28 -08:00
David Schleef
a8e99f80df
oggdemux: Handle unknown streams
2009-11-26 14:16:28 -08:00
Sebastian Dröge
8393257732
Revert "textoverlay: First draw outline text and then the real text"
...
This reverts commit 60aa09d28c
.
First drawing the real text and then the outline produces ugly
text in lower resolutions. The outline line width needs to be somehow
changed relative to the resolution. Fixes bug #602924 .
2009-11-26 14:31:55 +01:00
David Schleef
9339cec787
oggdemux: Reset last_granule during seeking
...
Fix case where we would reconstruct the wrong granulepos for
outgoing streams immediately after a seek.
2009-11-25 00:46:55 -08:00
David Schleef
8c202593c6
oggdemux: Fix timestamp generation for theora
...
Timestamp generation was broken by the last commit for formats
with a non-zero granule shift. Also keep track of the last keyframe
so that we can regenerate granulepos for theora.
2009-11-24 22:08:09 -08:00
David Schleef
78aad52cbf
oggdemux: Fix vorbis parsing
...
Add a granule to granulepos conversion function. Fix the duration
function for vorbis. Handle timestamps on header packets differently
and be more careful about calculating OFFSET and OFFSET_END. After
this change, timestamps for vorbis don't exactly match up with the
timestamps that vorbisparse outputs, but it's unclear if vorbisparse
is actually correct and it would add a lot more code to make oggdemux
match vorbisparse. Fixes #602790 .
2009-11-24 21:22:03 -08:00
David Schleef
ab0d802781
ogg: Fix generation of timestamps and durations
...
After changing some internal functions, I forgot to update
the code that puts the values on the buffers.
2009-11-21 22:05:34 +01:00
David Schleef
72edd1467b
ogg: Add ogg stream parsing
...
Adds code that parses headers of various formats encapsulated in
Ogg in order to calculate timestamps and durations of each buffer.
Removes the creation of helper decoder elements to do this calculation
via conversion queries.
Fixes : #344013 , #568014 .
2009-11-21 19:40:42 +01:00
David Schleef
3019ebb107
oggmux: don't overwrite object properties
2009-11-21 19:40:42 +01:00
Stefan Kost
f8abb8cf15
debug: also cast packet.packetno to gint64 in debug log
...
We do this already for granulepos to handle ogg_int64_t mismatches.
2009-11-21 17:54:49 +02:00
Olivier Crête
05aa195981
theoradec: Keep timestamp from incoming buffer if it is valid
...
Fixes bug #601627 .
2009-11-12 13:18:02 +01:00
David Schleef
dcf556893f
theora: Fix alignment of frames when converting
...
Fix logic inversion in calculating the offset in the theora
frame when copying to a GStreamer frame.
2009-11-09 11:18:27 -08:00
Sebastian Dröge
45cefdefa6
textoverlay: Synchronize video/text based on the running time
...
Instead of simply using the buffer timestamps.
2009-11-06 12:11:21 +01:00
Sebastian Dröge
8ed8d5e414
textoverlay: Clip text buffers to the text segment and reset segments properly
2009-11-06 12:11:21 +01:00
Sebastian Dröge
d941a9f6a6
textoverlay: Put the video segment into the instance struct instead of allocating it separately
2009-11-06 12:11:20 +01:00
Sebastian Dröge
8692174b50
textoverlay: Check if text timestamp/duration is valid before clipping
2009-11-06 12:11:20 +01:00
Tim-Philipp Müller
34e6718da9
theoradec: printf format fix
2009-11-05 23:34:10 +00:00
Sebastian Dröge
60aa09d28c
textoverlay: First draw outline text and then the real text
...
Improves the output a bit because no parts of the outline are
overwritten again.
2009-11-03 08:26:37 +01:00
Tim-Philipp Müller
6f4c1ac583
Remove GST_DEBUG_FUNCPTR where they're pointless
...
There's not much point in using GST_DEBUG_FUNCPTR with GObject
virtual functions such as get_property, set_propery, finalize and
dispose, since they'll never be used by anyone anyway. Saves a
few bytes and possibly a sixteenth of a polar bear.
2009-10-28 00:59:35 +00:00
David Schleef
61d08884d3
theora: Convert theoraparse to libtheora 1.0 API
2009-10-23 17:49:48 -07:00
Sebastian Dröge
eb9acba08f
textoverlay: Optimize a bit more
...
...and add a FIXME for bug #598695 and explain
what we should do once Pango supports user fonts.
2009-10-22 10:17:31 +02:00
Sebastian Dröge
21ad7547a0
textoverlay: Do shading as first operation
2009-10-22 09:31:34 +02:00
Sebastian Dröge
eccd28d7b0
textoverlay: Only use a single cairo surface for drawing
...
... and comment/optimize what is going on here a bit better.
2009-10-22 09:08:48 +02:00
Tim-Philipp Müller
550b6fa0c1
pango: bump pango requirement to stable version and remove ifdefs
...
Bump pango requirement from an ancient development version to an
ancient stable version.
2009-10-18 13:42:01 +01:00
Benjamin Otte
f9132ee673
theora: Make theoradec use gstvideo for image conversion
...
Vastly simplifies code.
https://bugzilla.gnome.org/show_bug.cgi?id=594729
2009-10-15 20:12:25 +02:00
Benjamin Otte
a3e92d3078
theora: Don't always round to even width/height
...
Previously, the code always rounded to even sizes. Now it only ensures
that pic_x and pic_y are multiples of 2 if the output format requires
it.
Also inlcudes fixes to take pic_x/y into account properly when copying
the buffer.
https://bugzilla.gnome.org/show_bug.cgi?id=594729
2009-10-15 20:12:25 +02:00
David Schleef
3cb9484993
theora: Convert theoradec to libtheora 1.0 API
...
https://bugzilla.gnome.org/show_bug.cgi?id=594729
2009-10-15 20:12:18 +02:00
Benjamin Otte
7e15bb6631
theora: Port encoder to new Theora API
...
Includes ripping out the old buffer copy code to fill up to frame size.
This is not necesary with the new encoder.
https://bugzilla.gnome.org/show_bug.cgi?id=594729
2009-10-15 20:08:16 +02:00
Benjamin Otte
910f67e816
theora: Disable sharpness property
...
It's ignored by libtheora
https://bugzilla.gnome.org/show_bug.cgi?id=594729
2009-10-15 20:08:16 +02:00
Benjamin Otte
fed37612f6
theora: Disable noise-sensitivity property
...
It is ignored by libtheora
https://bugzilla.gnome.org/show_bug.cgi?id=594729
2009-10-15 20:08:16 +02:00
Benjamin Otte
fad889e39e
theora: Disable keyframe-mindistance property
...
It's ignored by the current Theora library
https://bugzilla.gnome.org/show_bug.cgi?id=594729
2009-10-15 20:08:15 +02:00
Benjamin Otte
8b4923cba0
theora: Disable keyframe_threshold property
...
It's ignored by the current theora encoder
https://bugzilla.gnome.org/show_bug.cgi?id=594729
2009-10-15 20:08:15 +02:00
Benjamin Otte
581d57724e
theora: Get rid of "quick" property
...
The proeprty is not used by libtheora at all
https://bugzilla.gnome.org/show_bug.cgi?id=594729
2009-10-15 20:08:15 +02:00
Benjamin Otte
4159cdfe9c
theora: remove support for outdated granulepos hack
...
This is in preparation to switching to switching to the new Theora API
https://bugzilla.gnome.org/show_bug.cgi?id=594729
2009-10-15 20:06:31 +02:00
Benjamin Otte
56203876e4
theora: Ignore border property
...
Always make the video use black as padding color.
The output will be identical to previous versions.
https://bugzilla.gnome.org/show_bug.cgi?id=594729
2009-10-15 20:06:31 +02:00
Benjamin Otte
cec6b6ce29
theora: Ignore the center property, always set video to top left
...
This is not a necessary property, the output will be identical no matter
what.
https://bugzilla.gnome.org/show_bug.cgi?id=594729
2009-10-15 20:06:31 +02:00
Wim Taymans
e6e552b16f
theoradec: avoid confusing error
2009-10-12 15:47:28 +02:00
Josep Torra
ade53fb42f
vorbis: fixes warings in macosx snow leopard
2009-10-09 22:00:45 +02:00
Josep Torra
13ab7e7929
theora: fixes warnings on macosx snow leopard
2009-10-09 18:52:12 +02:00
Josep Torra
26fcc7843a
ogg: fixes warnings on macosx snow leopard
2009-10-09 16:57:14 +02:00
Josep Torra
8579028dc0
oggdemux: fix a warning in macosx
2009-10-09 16:57:13 +02:00
Josep Torra
a34c29b524
audioconvert: change the format instead of cast as ensonic asked
2009-10-09 15:32:45 +02:00
Josep Torra
c272d8d9fb
gnomevfssrc: fixes warnings in macosx
...
warning: format '%llu' expects type 'long long unsigned int', but argument 8 has type 'GnomeVFSFileOffset'
warning: format '%lld' expects type 'long long int', but argument 9 has type 'guint64'
2009-10-09 14:28:42 +02:00
Edward Hervey
2021791b75
theoraenc: Make the default quality property 48.
...
This guarantees that people who use theoraenc without modifying any
properties will end up with a reasonably good quality output.
48 is also the default of the encoder_example application shipped with
libtheora.
2009-10-07 16:56:28 +02:00
Stefan Kost
ccf5d6551a
build: sprintf, sscanf need stdio.h
2009-10-07 11:56:35 +03:00
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