Commit graph

723 commits

Author SHA1 Message Date
Sjoerd Simons 76647f2710 oggdemux: Prevent seeks when _SCHEDULING_FLAG_SEQUENTIAL is set
Don't go into pull mode when the upstream scheduling flags indicate
seeks should be avoided by setting GST_SCHEDULING_FLAG_SEQUENTIAL.

https://bugzilla.gnome.org/show_bug.cgi?id=704929
2013-07-29 16:04:07 +02:00
Sebastian Dröge 246e1781c7 oggdemux: Don't swap start/stop for negative rates in the SEGMENT query 2013-07-29 12:11:38 +02:00
Sebastian Dröge 31763d3c20 oggdemux: Implement SEGMENT query 2013-07-29 10:46:01 +02:00
Sebastian Dröge fc79a688f5 ogg: Add support for group-id in the stream-start event 2013-07-22 15:24:29 +02:00
Mathieu Duponchelle 905fe0f4ca oggdemux: Make bisecting fully accurate
When bisecting after an earliest time has been found, we need
to only consider the stream for which the earliest time was found.

Before, the following scenario could be and was encountered:

a) Find the earliest time for stream X
b) bisect and find a page which granuletime is indeed < target, but
   contains another stream.
c) decide to seek at the wrong offset, sometimes inferior to
   the real one, in which case the error was undected or
d) the offset was superior, and thus the actual target keyframe was
   not processed, and packets were skipped waiting
   for a granulepos.

https://bugzilla.gnome.org/show_bug.cgi?id=700537
2013-07-15 10:34:00 +02:00
Mathieu Duponchelle affd9f37aa Revert "oggdemux: fix seeking with negative rate with skeleton"
This reverts commit b41cd04289.
2013-07-15 10:31:08 +02:00
Sebastian Dröge 748cbbd76e ogg: The Daala headers are little endian, not big endian 2013-06-23 12:07:41 +02:00
Sebastian Dröge 3f9872abaa ogg: Add Daala support 2013-06-23 11:28:40 +02:00
Sebastian Dröge 1d20c0f4bb oggmux: Make sure to always set caps on the srcpad and always send a segment event
Even if the srcpad is not linked at this point, it might be linked as result of
setting the caps.
2013-05-10 11:24:46 +02:00
Mathieu Duponchelle 46aff49316 oggmux: don't send a segment event before the caps event
https://bugzilla.gnome.org/show_bug.cgi?id=699971
2013-05-10 09:28:52 +02:00
Mathieu Duponchelle 4c362768fc oggmux: The best pad can't be EOS
The problem experienced is that the EOS was never emitted by oggmux during a
rendering with GES. The proposed patch checks if the pad is EOS before deciding
it's the "best pad".

https://bugzilla.gnome.org/show_bug.cgi?id=699792
2013-05-08 14:26:17 +02:00
Andoni Morales Alastruey 47cbbe6514 ogg: fix duplicated symbols with schroedinger 2013-05-02 14:02:19 +02:00
Stefan Sauer cdfc05ec4d oggmux: add more logging and fix the object param for some logging
Use data->pad instead of pad for 'object'. Reduce indentation depth in a helper
with an early return.
2013-04-17 21:47:11 +02:00
Sebastian Dröge 948a4a3632 gst: Add better support for static plugins 2013-04-15 15:52:58 +02:00
Sebastian Dröge 6e01d1869b ogg: Prevent some symbol conflicts between the ogg plugin and schroedinger 2013-04-15 08:38:34 +02:00
Wim Taymans 461d58795a oggdemux: don't push on NOT_LINKED pads
If our previous flow return was NOT_LINKED, don't try to push on the pads some
more. If we get a RECONFIGURE event on the pad, try to push on it again.
2013-04-04 18:18:54 +02:00
Nicolas Dufresne e58f838ca3 oggdemux: Allow EOS on timestamp equal to stop/start
Changed the check to a current_time equal to the stop will produce
EOS instead of the next one. Also, segment.start can't be NONE, so removing
this check.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=696899
2013-04-04 10:09:26 +02:00
Wim Taymans 564f720c40 oggdemux: mark keyframes
Use the mapper to set the delta-unit flag.
2013-03-31 18:57:13 +02:00
Stefan Sauer 28d09d43e5 oggmux: don't keep a static string beyond the ref of the owning object
Also move down the ref for the caps a bit, so tha we don't leak it in the branch that calls continue.
2013-03-05 22:31:26 +01:00
Stefan Sauer ce626fc3d8 oggmux: don't crash on caps being NULL
Also avoid unused variables if debugging is disabled.
2013-03-03 20:51:43 +01:00
Tim-Philipp Müller d97dd36ae5 ogg: small GValue optimisation
No need to copy buffers we put into the streamheader any more
now that we don't put caps on buffers any more, so there's no
danger of a refcount cycle.
2013-03-03 17:40:21 +00:00
Tim-Philipp Müller e045b6fb52 oggdemux: add audio-codec and video-codec tags for streams in more cases 2013-02-28 16:27:50 +00:00
Vincent Penquerc'h 658195e6de oggdemux: fix incorrect testing of invalid granpos values
Positive granulepos is valid, -1 granulepos is unset, and all
other negative granulepos are invalid.

Reported by Tim-Philipp Müller
2013-01-07 18:03:52 +00:00
Tim-Philipp Müller 5f59b4f7ee Fix FSF address
https://bugzilla.gnome.org/show_bug.cgi?id=687520
2012-11-03 23:05:09 +00:00
Jonathan Liu 7f22e3ea7f oggstream: fix crash with 0 byte ogg packets
https://bugzilla.gnome.org/show_bug.cgi?id=687030
2012-10-29 12:04:38 +00:00
Sebastian Dröge 3c1041d5eb Revert "gst: Add better support for static plugins"
This reverts commit d2d79e3bc2,
which was accidentially pushed.
2012-10-24 13:26:26 +02:00
Sebastian Dröge d2d79e3bc2 gst: Add better support for static plugins 2012-10-24 12:10:44 +02:00
Wim Taymans 3591df23b1 docs: playbin2 -> playbin 2012-10-09 12:20:10 +02:00
Tim-Philipp Müller 1c22b1fe11 oggmux: send stream-start event 2012-09-23 13:27:27 +01:00
Tim-Philipp Müller e072bd6130 oggmux: fix up previous commit
Was missing the header file change.
2012-09-21 16:10:27 +01:00
Tim-Philipp Müller 5890a4a803 oggmux: send a segment event at the beginning 2012-09-21 15:58:07 +01:00
Sebastian Dröge b19944d1e4 gst: Update for link/unlink function API change 2012-09-17 13:24:52 +02:00
Mark Nauwelaerts c629a44162 replace gst_tag_list_free with gst_tag_list_unref 2012-09-14 17:53:21 +02:00
Stefan Sauer b9054de15c collectpads: remove gst_collect_pads_add_pad_full
Rename gst_collect_pads_add_pad_full() to gst_collect_pads_add_pad() and fix all
invocations.
2012-09-12 21:03:21 +02:00
Mark Nauwelaerts 899a809330 ext, gst-libs: only activate in pull mode if upstream is seekable 2012-09-11 17:37:27 +02:00
Tim-Philipp Müller 5bb8021fc9 oggdemux: port to new GLib thread API 2012-09-10 01:08:51 +01:00
Tim-Philipp Müller 2079a8c12b Remove glib-compat-private.h stuff we don't need any more
It's all been ported to the latest GLib API now.
2012-09-09 18:36:49 +01:00
Mark Nauwelaerts 62ef0fc55e oggmux: remove dead code 2012-09-05 12:02:32 +02:00
Mark Nauwelaerts 6a43c1f9c7 oggdemux: send GAP event
... in stead of old update newsegment event.
2012-09-05 12:02:32 +02:00
Tim-Philipp Müller 7c2e7b1a4f text/plain + text/x-pango-markup -> text/x-raw 2012-09-02 02:45:41 +01:00
Tim-Philipp Müller a99a1042b9 gst_message_new_duration() -> gst_message_new_duration_changed() 2012-09-02 01:27:17 +01:00
Stefan Sauer a2b1243064 oggmux: remove superflous assignment 2012-08-12 09:57:11 +02:00
Tim-Philipp Müller 4ed7ebc071 oggdemux: set HEADER flag on header packets
https://bugzilla.gnome.org/show_bug.cgi?id=681499
2012-08-11 10:18:37 +01:00
Tim-Philipp Müller 8b15f5a8ab oggmux: don't leak dropped seek event 2012-08-11 09:53:49 +01:00
Tim-Philipp Müller 0dd2766d83 oggmux: pick delta pad earlier during header parsing and based on video/non-video
Pick delta pad earlier during header parsing, and pick it based
on whether it's a video stream or not rather than some rather
byzantine signalling from theoraenc etc. which would set the delta
flag on header packets which oggmux would then pick up and determine
that this is a "delta-able" stream.

Since the new videodecoder-based theoraenc didn't do that any more,
we would only see the first delta flag on the second video packet,
which is after we've already muxed a few audio packets flagged as
key units, which trips up the unit test.

Fixes pipelines/oggmux unit test.

https://bugzilla.gnome.org/show_bug.cgi?id=679958
2012-08-10 10:45:09 +01:00
Andoni Morales Alastruey 15c712c7c6 oggdemux: add proper cast for print 2012-08-08 17:41:19 +02:00
Tim-Philipp Müller 17c839c8a1 No statements with side-effects in g_assert() or g_return_*() please 2012-08-08 10:11:48 +01:00
Sebastian Dröge e25a861ed6 oggdemux: Add stream-id to the stream-start event 2012-08-06 14:01:28 +02:00
Sebastian Dröge 99d73c94e9 tag: Update for taglist/tag event API changes 2012-07-28 00:35:02 +02:00
Wim Taymans 683a38ad65 update for new variable names 2012-07-27 15:24:43 +02:00