Thibault Saunier
508245dfa6
theoraenc: Do nothing when flushing the encoder when no caps were set
...
In case we receive a flush event before having our caps set, we will
end up trying to create a theora encoder even though we are not ready.
Avoid that situation making sure we are initialized before accepting to
be flushed.
https://bugzilla.gnome.org/show_bug.cgi?id=709858
2013-10-14 17:49:59 -03:00
Sebastian Dröge
5bd27953b4
theora: Use new video codec base classes' flush vfunc
2013-08-15 13:26:39 +02:00
Sebastian Dröge
239b623a9c
theoraenc: Clean up handling of reset/flushing/start/stop
2013-07-25 13:31:07 +02:00
Sebastian Dröge
775aa4100b
theoradec: Clean up handling of reset/flushing/start/stop
2013-07-25 13:29:22 +02:00
Sebastian Dröge
e39fa41d74
theoradec: Require caps to be set before data flow happens
2013-05-27 13:04:25 +02:00
Sebastian Dröge
4f52ad38e4
theoradec: Set DECODE_ONLY flag on all header packets
2013-05-09 10:40:19 +02:00
Sebastian Dröge
ef6a2a6c14
theoraenc: Don't call gst_buffer_fill() for empty Theora packets
...
gst_buffer_fill() does not like a NULL source data pointer.
2013-05-07 10:16:48 +02:00
Sebastian Dröge
f3b6548f09
theoraenc: Fix error handling when reading or writing multipass cache data fails
2013-05-07 10:13:18 +02:00
Sebastian Dröge
948a4a3632
gst: Add better support for static plugins
2013-04-15 15:52:58 +02:00
Wim Taymans
f15bc6835b
theoradec: handle empty adapter
...
Should not be empty but might be when we actually pass and decode the 0 packets
later.
2013-03-31 18:31:36 +02:00
Vincent Penquerc'h
da673880eb
theoraenc: do not reset the encoder when we need a keyframe
...
Instead, remember we need a keyframe, and we will force the encoder
to emit one next time we submit a new frame.
Since libtheora does not have an API to request a keyframe, we reset
the max keyframe interval to 1 temporarily.
This has the advantage that the rate control keeps its history,
and that the encoder won't choose different quant tables or
somesuch, thus requiring new streamheaders (although this is
probably only a theoretical possibility). Should also be a
bit faster than resetting the encoder.
https://bugzilla.gnome.org/show_bug.cgi?id=663350
2013-03-31 15:45:26 +01:00
Tim-Philipp Müller
13b8b35373
theora: small GValue optimisations
...
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:42:22 +00:00
Sebastian Dröge
d9b25afe71
ext: Fix some compilation errors caused by circular header includes
2012-12-12 17:22:31 +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
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
Tim-Philipp Müller
224fb90469
theora, app: use gst_element_class_set_static_metadata()
...
Avoids string copies.
2012-10-17 16:54:14 +01:00
Mark Nauwelaerts
f7c247b6a3
replace gst_element_class_set_details_simple with gst_element_class_set_metadata
2012-09-14 17:02:59 +02:00
Mark Nauwelaerts
b80f5e53c4
theoradec: reset freed input and output states
...
Conflicts:
ext/theora/gsttheoradec.c
2012-08-28 14:31:06 +02:00
Sebastian Dröge
5989d75e10
theoradec: Use new video decoder tag API
2012-08-09 16:09:46 +02:00
Olivier Crête
e24196ae28
theoradec: Drop ignored headers
...
Instead of finishing an empty frame, call drop_frame as we're
ignoring the header frame.
2012-08-07 13:58:58 -07:00
Sebastian Dröge
99d73c94e9
tag: Update for taglist/tag event API changes
2012-07-28 00:35:02 +02:00
Vivia Nikolaidou
6830a7f744
theoraenc: Call video_encoder_negotiate() once configured
2012-07-24 20:42:49 +02:00
Sebastian Dröge
aa21a162d7
theora: Update for video base classes API changes
2012-07-23 10:19:16 +02:00
Sebastian Dröge
ca928f3916
theoraenc: Use base class functions to allocate output buffers
2012-07-23 09:45:11 +02:00
Edward Hervey
0cc8445cfa
theoradec: Call video_decoder_negotiate() once configured
2012-07-18 18:17:57 +02:00
Wim Taymans
53fc1f3fca
update for query api changes
2012-07-06 11:50:44 +02:00
Wim Taymans
177fd005ab
update for query api changes
2012-07-06 11:23:48 +02:00
Wim Taymans
bc5ba349b7
update for allocation query changes
2012-07-06 11:05:09 +02:00
Tim-Philipp Müller
b381af7d2d
theoraenc: clean up some property descriptions
...
We now require a sufficiently-recent libtheora.
2012-06-28 23:07:16 +01:00
Jan Schmidt
30c9bb709b
theoradec: Remove use of NEED_DATA
...
Remove the confusing internal-only use of
the GST_VIDEO_DECODER_FLOW_NEED_DATA return code.
2012-06-17 12:42:08 +10:00
Jan Schmidt
2fbb803d85
theoradec: Always inform base class when dropping frames
...
Partially fixes backwards playback. Informing the base class
of the dropped frame lets it manage the timestamping and events
better.
2012-06-13 03:17:27 +10:00
Vincent Penquerc'h
03ef88d7da
theoradec: fix frame leaks
2012-06-07 13:36:35 +01:00
Vincent Penquerc'h
d4b8778299
theoradec: fix video state leaks
2012-06-07 11:23:23 +01:00
Wim Taymans
a2172bdb4b
update for tag event change
2012-06-06 13:05:47 +02:00
Thiago Santos
81b914a61f
theoraenc: do not use %zu, it is C99
...
Cast the variables instead and fallback to %u
2012-05-31 18:55:32 -03:00
Thiago Santos
772e3d514d
theoraenc: fix printf format variable
2012-05-31 18:28:14 -03:00
Sreerenj Balachandran
663abda778
theoradec: remove usless checking of return val.
...
fixes https://bugzilla.gnome.org/show_bug.cgi?id=676525
2012-05-24 11:12:26 +02:00
Sreerenj Balachandran
d9ec99e598
theoradec: remove the nonuse parameter from handle_type_packet() method
2012-05-23 10:16:25 +02:00
Sreerenj Balachandran
8054c66194
theoradec: stream is marking as non-packeized so that the data gets parsed and keyframes marked
2012-05-23 10:16:25 +02:00
Edward Hervey
a4eda89b3c
theoraenc: Don't leak incoming frames (and buffers)
...
We get given a reference in ::handle_frame(), remove it when we're done.
2012-05-15 08:38:41 +02:00
Sebastian Dröge
7ff23514ee
theoradec: Correctly handle crop metadata and update for videodecoder API changes
2012-05-01 13:33:20 +02:00
Sebastian Dröge
0c2f43750d
theoradec: Unref state when we're done with it
2012-04-25 14:34:43 +02:00
Sebastian Dröge
71fc0a7f3e
theoradec: Update for video decoder API changes
...
And also improve the buffer pool handling.
2012-04-25 13:19:11 +02:00
Sebastian Dröge
261188ae68
theoraenc: Update for video encoder API changes and propose video-meta for allocation
2012-04-25 13:19:11 +02:00
Sebastian Dröge
894875d705
theoradec: Use crop metadata if possible and refactor cropping code a bit
2012-04-24 22:35:58 +02:00
Sebastian Dröge
8571293311
theoradec: Set some more information on the output caps
2012-04-24 22:05:53 +02:00
Sebastian Dröge
e120979f17
theora: Port to 0.11 again with the new base classes
2012-04-24 21:32:28 +02:00
Sebastian Dröge
a0e3a9e32d
Merge remote-tracking branch 'origin/0.10'
...
Video base classes and theora plugin still needs to be ported again
Conflicts:
docs/libs/gst-plugins-base-libs-docs.sgml
docs/libs/gst-plugins-base-libs-sections.txt
docs/libs/gst-plugins-base-libs.types
ext/theora/gsttheoradec.c
ext/theora/gsttheoradec.h
ext/theora/gsttheoraenc.c
ext/theora/gsttheoraenc.h
gst-libs/gst/video/Makefile.am
gst-libs/gst/video/video.c
gst-libs/gst/video/video.h
gst/playback/gsturidecodebin.c
tests/check/libs/video.c
tests/check/pipelines/theoraenc.c
win32/common/libgstvideo.def
2012-04-24 18:14:31 +02:00
Mark Nauwelaerts
7bfd1bc3d7
theora: Port to base video classes
...
FIXME : Don't forget to backport changes that happened to theoraenc
since April 2011
theoraenc: Don't create keyframe on time gap
There is no rational to do so, and also gst_video_encoder_set_discont() is
gone from base class.
2012-04-24 17:03:40 +02:00