Commit graph

2955 commits

Author SHA1 Message Date
Sebastian Dröge
63563e3d5e videodecoder: Require to chain up to the parent classes event functions 2012-04-24 19:51:30 +02:00
Sebastian Dröge
13b88908ce videoencoder: Require to chain up to the parent's sink event functions 2012-04-24 19:47:22 +02:00
Sebastian Dröge
f7bc9cc5ba video: Initial port of video base classes and related things to 0.11 2012-04-24 19:35:24 +02:00
Sebastian Dröge
3ab5be1cff video: Remove custom marshallers 2012-04-24 18:16:27 +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
Edward Hervey
4f1e7eec40 video: Fix gst_video_info_to_caps
And use the 0.10 caps style
2012-04-24 17:03:40 +02:00
Edward Hervey
a744c98985 videodecoder: Detect buffers inputted with DTS
Some container formats (like AVI) set DTS on the buffers instead of
PTS.
We detect this by:
* detecting if input timestamps are non-increasing
* detecting if the order the frames come out is the same as the order
  they were inputted (meaning the implementation is reordering frames).

If the decoder reorders frames, but input buffer timestamps were not
reordered, that means the buffers has DTS and not PTS as their timestamp.
If this is the case, we use set the PTS of the outgoing frames in the
same order as they were given to the decoder.

This fixes the issue for any decoder using this base class (yay).
2012-04-24 17:03:40 +02:00
Edward Hervey
f6cfd763e4 video: Base classes for video decoders and encoders 2012-04-24 17:03:40 +02:00
Edward Hervey
a22545134d video: Add gst_video_info_is_equal 2012-04-24 10:44:44 +02:00
Edward Hervey
0a7d047b1f video: Add GST_VIDEO_FORMAT_ENCODED 2012-04-24 10:44:44 +02:00
Edward Hervey
8f00d76c97 video: Backport GstVideoInfo/GstVideoFormatInfo from 0.11 2012-04-24 10:44:44 +02:00
Wim Taymans
04a2610444 video: improve frame_flags
Rename the frame_flags to flags. Because they are flags on the frame object it
does not need the redundant frame_ prefix.
Change the order of the metadata constructor so that the flags come before the
format and dimension arguments.
2012-04-19 14:14:35 +02:00
Sebastian Dröge
c84108de3c video: Update for libgstvideo API changes 2012-04-19 12:30:57 +02:00
Sebastian Dröge
91ffe7dd5e video: Clean up interlaced flags and enums
There's a new GstVideoFrameFlags enum now that contains the frame
specific flags only. GstVideoFlags does not contain the TFF/TFF/ONEFIELD
flags anymore because these are strictly frame specific.

Also add fallback to parse these fields from the GstBufferFlags in
gst_video_frame_map() if there's no GstVideoMeta attached to the buffer.
2012-04-19 12:30:57 +02:00
Alessandro Decina
131bf5fb47 appsrc: reset is_eos flag after a succesful seek from _create 2012-04-19 06:18:41 +02:00
Alessandro Decina
f0b17b774f appsrc: reset is_eos flag after a succesful seek from _create 2012-04-19 05:51:56 +02:00
Tim-Philipp Müller
5a3304c702 pbutils: update for ogg media type changes 2012-04-15 23:04:07 +01:00
Wim Taymans
66615a8a6a videofilter: shortcut transform_ip when not set
We can ask the base class to not call our transform_ip method when the subclass
didn't provide an in-place transform function.
2012-04-14 11:26:28 +02:00
Víctor Manuel Jáquez Leal
3f3dceb675 videopool: fix mem leak
When setting its config, the pool increase the ref count of the allocator, but
at finalize the ref count is also increased rather than decreased.

This one-liner patch changes the gst_allocator_ref() for gst_allocator_unref()

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=674011
2012-04-14 10:36:02 +02:00
Sebastian Dröge
69b18ab09d gst-libs: Remove interfaces libs and mixer/tuner interfaces
The navigation interface is now in the video library.
2012-04-13 13:14:13 +02:00
Alban Browaeys
6c8abf24cf libs: Link against internal tag library 2012-04-11 09:58:49 +02:00
Sebastian Dröge
8091546694 audio: Remove obsolete FIXME 0.11 2012-04-11 09:57:35 +02:00
Alban Browaeys
8e8c18233a pbutils: Link against internal gst video
Link pbutils and encoding tests against internal version of libgstvideo.
2012-04-11 09:56:17 +02:00
Alessandro Decina
ebf80977c4 audiodecoder: don't discard timestamps when consecutive input buffers have the same ts
Avoid pushing out buffers with the same timestamp only if the out buffers are
decoded from the same input buffer. Instead keep the timestamps when upstream
pushes consecutive buffers with the same ts.
2012-04-05 10:19:46 +02:00
Alessandro Decina
38803239c0 audiodecoder: don't discard timestamps when consecutive input buffers have the same ts
Avoid pushing out buffers with the same timestamp only if the out buffers are
decoded from the same input buffer. Instead keep the timestamps when upstream
pushes consecutive buffers with the same ts.
2012-04-04 20:52:50 +02:00
Mark Nauwelaerts
6eeca397fc audioencoder: plug a definite and rare leak 2012-04-04 19:57:35 +02:00
Mark Nauwelaerts
43b0c5d258 encoding-profile: release additional obtained caps reference 2012-04-04 19:50:07 +02:00
Sebastian Dröge
65307dd132 gst: Update versioning 2012-04-04 14:55:15 +02:00
Wim Taymans
296e1bf3dd rtpbuffer: removed old memory
Ensure writability of rtp buffer and remove old memory first
Fix some docs
2012-04-04 09:34:00 +02:00
Mark Nauwelaerts
91aa1eb7dd audio{de,en}coder: fixup documentation 2012-04-02 14:23:33 +02:00
Wim Taymans
ac9a8781ba video: fix macros 2012-04-02 12:25:30 +02:00
Wim Taymans
6e9d28eef6 rtp: fix initializer 2012-04-02 11:05:38 +02:00
Wim Taymans
92f46c07fe rtpbuffer: keep more state
Prepare for the future, make it possible to map multiple buffer regions, like
the header and the payload.
2012-04-02 10:31:18 +02:00
Wim Taymans
9ef519d99a Improve buffer allocation of wrapped memory 2012-04-01 18:11:23 +02:00
Wim Taymans
1d60bd12e5 videometa: use new buffer methods when mapping memory
Use _find_memory and _map_range to simplify, improve and optimize the
memory mapping of video frames.
2012-04-01 18:04:10 +02:00
Wim Taymans
6f8347de9f videofilter: don't map writable in passthrough
In passthrough mode we shouldn't map the buffer in write mode because the buffer
might not be writable.
2012-04-01 18:01:15 +02:00
Sebastian Dröge
b701534204 audioencoder: Fix handling of offset/offset-end for Ogg codecs
Fixes the vorbisenc unit test.
2012-03-31 12:55:15 +02:00
Wim Taymans
345dc31f20 update for buffer api change 2012-03-30 18:15:30 +02:00
Sebastian Dröge
a103fa85a9 audio{en,de}coder: Track input and output segments separately
They can go out of sync for some time if processing of buffers
on the old segment happens after the segment was received.
2012-03-30 13:21:09 +02:00
Sebastian Dröge
9cd9f00799 audioencoder: Add gst_audio_encoder_set_headers() to the docs 2012-03-30 12:57:02 +02:00
Sebastian Dröge
78bcb67ea5 audioencoder: Add function to set in-stream headers
API: gst_audio_encoder_set_headers()

This makes the hack in vorbisenc and probably others in ::pre_push()
unnecessary.
2012-03-30 12:47:28 +02:00
Sebastian Dröge
f791ec1f10 audioencoder: Rename ::event() to ::sink_event() and add ::src_event() 2012-03-30 12:23:13 +02:00
Sebastian Dröge
d8cb235fe4 audiodecoder: Rename ::event() to ::sink_event() and add ::src_event() 2012-03-30 12:23:13 +02:00
Edward Hervey
dccfbef7f9 exiftag: Check return value of byte write methods 2012-03-30 12:13:40 +02:00
Edward Hervey
32c617c867 video: Fix 'comparison of unsigned enum expression < 0 is always false' compiler warning 2012-03-30 12:05:51 +02:00
Sebastian Dröge
40a4f2f8aa audiodecoder: Rename _byte_time() to _estimate_rate()
Which is telling more about what this actually does and is more
consistent with the video base classes.
2012-03-30 11:51:47 +02:00
Mark Nauwelaerts
6039266c43 rtpbasepayload: plug caps leak 2012-03-29 17:15:43 +02:00
Sebastian Dröge
9e13d70b2c Merge remote-tracking branch 'origin/0.10'
Conflicts:
	gst-libs/gst/video/video-overlay-composition.c
	tests/check/libs/video.c
2012-03-29 15:00:22 +02:00
Mark Nauwelaerts
435c340d15 appsink: optionally obtain current caps from negotiated pad caps 2012-03-28 16:45:03 +02:00
Mark Nauwelaerts
2ddc6bb63d audiodecoder: handle downstream seeking query
... or not, in line with how segment events are treated.
2012-03-28 16:41:01 +02:00