Commit graph

1643 commits

Author SHA1 Message Date
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