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
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
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
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
420d7b111d
More ENABLE_NLS fixes
2010-03-16 18:31:15 +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
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
David Schleef
1701c706ec
oggmux: Don't flush after every frame for theora
2010-03-09 15:40:18 -08:00
David Schleef
38e6f0c7ed
oggdemux: fix dirac header parsing
...
Fixes #611900 .
2010-03-08 17:07:57 +00: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
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
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
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
Mark Nauwelaerts
8fb183c7c9
oggdemux: enhance flac packet duration calculation
2010-01-05 16:44:58 +01: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
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