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
Wim Taymans
69298c5534
update for buffer changes
2012-03-28 12:53:01 +02:00
Mark Nauwelaerts
fd24621464
tagmux: more discrete segment event dropping
2012-03-27 18:16:53 +02:00
Wim Taymans
18fe3ed9fa
videopool: avoid caps copy
...
Now that the caps from the bufferpool are not returned as const we
can take a ref instead of doing a copy.
2012-03-27 15:44:59 +02:00
Wim Taymans
77a4f5865b
audioencoder: avoid caps copy
2012-03-27 15:44:43 +02:00
Wim Taymans
c6f55538e3
video: keep the buffer reffed in the videoframe
...
This would also ensure that the buffer is not writable while mapped.
2012-03-27 15:01:01 +02:00
Wim Taymans
bee3d7b683
update for get_param changes
...
Remove the const from the GstCaps.
Fix some GstStructure leaks.
2012-03-27 12:44:02 +02:00
Mark Nauwelaerts
6c260d732c
video: remove bogus define
2012-03-26 18:13:13 +02:00
Sebastian Dröge
b47350b6e9
pbutils: Add some more subtitle format descriptions
2012-03-26 13:52:41 +02:00
Tim-Philipp Müller
3242f55861
test: fix leak in video overlay composition unit test
...
gst_buffer_set_qdata() will leak the structure passed to it
when called incorrectly (e.g. on a non-metadata-writable buffer).
This is expected, but we must avoid doing that in valgrind.
2012-03-25 13:35:23 +01:00
Tim-Philipp Müller
35a17ac152
video: overlay-composition: blending micro-optimisation
2012-03-25 11:33:04 +01:00
Tim-Philipp Müller
79953f27a8
video: overlay-composition: try to avoid floating point maths in inner loop
...
Try to avoid floating point maths for each pixel to be blended in
inner loop, and try to avoid the multiplication entirely for the
most common case of the global alpha being 1. Could probably be
refactored a bit more.
2012-03-25 11:31:31 +01:00
Tim-Philipp Müller
32679e1826
video: overlay-composition: some minor clean-ups
...
extract_alpha and apply_global alpha always return TRUE really,
so just do away with the return value. Convert a g_return_if_fail()
into a g_assert(), since this is only to check internal consistency
and not a guard for public API. Add some locking.
https://bugzilla.gnome.org/show_bug.cgi?id=668483
2012-03-25 11:27:24 +01:00
Holger Kaelberer
76c0881549
video: overlay-composition: add support for global alpha multiplicator
...
https://bugzilla.gnome.org/show_bug.cgi?id=668483
2012-03-25 11:27:24 +01:00
Tim-Philipp Müller
f17b8cbbc3
riff: map ISBJ tag to GST_TAG_ALBUM_ARTIST
...
http://www.bass.radio42.com/help/html/7e1a8908-88bd-d54b-77d7-f0d08466284c.htm
2012-03-24 00:18:17 +00:00
Wim Taymans
32bd12dba9
Merge branch 'master' into 0.11
...
Conflicts:
.gitignore
common
configure.ac
ext/vorbis/gstvorbisdeclib.h
gst-libs/gst/audio/gstaudioencoder.c
gst-libs/gst/riff/riff-read.c
gst/playback/gstplaysink.c
gst/playback/gstplaysinkconvertbin.c
tests/check/libs/video.c
2012-03-22 11:35:13 +01:00
Wim Taymans
a619d3a8b0
update for memory api changes
2012-03-20 13:20:36 +01:00
Tim-Philipp Müller
dfb244fb50
pbutils: make encoding profile classes opaque
...
Don't typedef them to GObjectClass directly, but hide behind
private structs. Fixes issues with gobject-introspection
and GstEncodingProfileClass.
https://bugzilla.gnome.org/show_bug.cgi?id=668542
2012-03-20 10:51:53 +00:00
Mark Nauwelaerts
d455b29db4
video: fix assertion comparison mishap
2012-03-20 11:22:29 +01:00
Mark Nauwelaerts
278b0f093b
audio: include audio enumtypes
2012-03-19 16:18:56 +01:00
Wim Taymans
e620dbc57d
video: add function to copy one video plane
2012-03-19 12:26:11 +01:00
Tim-Philipp Müller
fe0e2d65e1
riff: map IPRD ("product") tag to GST_TAG_ALBUM
...
http://www.bass.radio42.com/help/html/7e1a8908-88bd-d54b-77d7-f0d08466284c.htm
https://bugzilla.gnome.org/show_bug.cgi?id=670286
2012-03-18 22:56:58 +00:00
Wim Taymans
dfb8e7cb2c
don't pass random pointers to pull_range
2012-03-16 21:46:47 +01:00
Wim Taymans
1e884df1df
update for bufferpool changes
2012-03-15 22:10:58 +01:00
Wim Taymans
7c0e2b5b1e
update for allocation query changes
2012-03-15 20:36:51 +01:00
Wim Taymans
02dc419aae
update for bufferpool api change
2012-03-15 14:06:24 +01:00
Wim Taymans
df5253b22c
update for memory api changes
2012-03-15 13:32:08 +01:00
Wim Taymans
28034226c6
update for memory api changes
2012-03-14 21:35:45 +01:00
Wim Taymans
39d78762b9
take padding into account
2012-03-14 19:56:51 +01:00
Tim-Philipp Müller
2c4b379470
video: overlay-composition: fix alpha premultiply and unpremultiply
...
Fix component offsets for little endian systems.
https://bugzilla.gnome.org/show_bug.cgi?id=668483
2012-03-14 18:04:38 +00:00
Holger Kaelberer
027f5bb471
video: overlay-composition: fix rectangle caching after alpha (un)premultiplying
...
If we are asked to (un)premultiply,we need to create the new rectangle
with the right flags, so we can find it properly on subsequent cache
lookups (also because it's wrong otherwise).
https://bugzilla.gnome.org/show_bug.cgi?id=668483
2012-03-14 18:04:38 +00:00
Holger Kaelberer
7a21d1eb32
video: overlay-composition: fix crash when doing premultiplied<->unpremultiplied alpha conversion
...
We need to copy the pixels before messing with them, not least
because the buffer creation code below assumes it's ok to take
ownership.
Fixes crash caused by double-free.
https://bugzilla.gnome.org/show_bug.cgi?id=668483
2012-03-14 18:04:38 +00:00
Holger Kaelberer
6b7f25a2f0
video: overlay-composition: check the right flags when searching for a cached rectangle
...
Compare the flags of the *cached* rectangle to the desired flags when
checking for a suitable rectangle in the cache.
https://bugzilla.gnome.org/show_bug.cgi?id=668483
2012-03-14 18:04:37 +00:00
Wim Taymans
781f9474ea
videometa: also copy map/unmap functions
2012-03-13 20:17:55 +01:00
Wim Taymans
37e940df83
rtpbasepay: add support for DTS and PTS
2012-03-13 18:15:04 +01:00
Wim Taymans
4e1ed6f649
audio: fix debug line
2012-03-13 12:39:52 +01:00
Wim Taymans
25137962ad
fix for caps API changes
2012-03-11 19:04:41 +01:00
Tim-Philipp Müller
b2d066f49c
riff: extract track number and album artist tags from INFO chunks
...
https://bugzilla.gnome.org/show_bug.cgi?id=670286
2012-03-09 20:57:02 +00:00
Tim-Philipp Müller
5cb1cd2d54
riff: when reading tags from INFO chunk, accept lower-case IDs as well
2012-03-09 20:53:27 +00:00
Wim Taymans
7296ef7c63
audiobasesink: add some G_LIKELY
2012-03-09 17:15:38 +01:00
Wim Taymans
94869bff38
audio: avoid buffer copy when nothing is clipped
...
when nothing is clipped, return the input buffer instead of creating and
returning an identical copy.
2012-03-09 16:17:54 +01:00
Sebastian Dröge
7ff608889a
audio{en,de}coder: Add optional open/close vfuncs
...
This can be used to do something in NULL->READY, like checking
if a hardware codec is actually available and to error out early.
2012-03-09 10:56:07 +01:00
Tim-Philipp Müller
29c266ccff
Merge remote-tracking branch 'origin/master' into 0.11
...
Conflicts:
common
docs/libs/gst-plugins-base-libs.types
ext/pango/gsttextoverlay.c
ext/vorbis/gstvorbisdec.c
gst/playback/gstplaysink.c
gst/playback/gstplaysinkconvertbin.c
sys/ximage/ximagesink.c
sys/xvimage/xvimagesink.c
2012-03-08 20:31:34 +00:00
Wim Taymans
8ebd13ee5e
videopool: only do alignment when videometa is enabled
...
We require the videometa activated before we can implement the alignment of
buffers. Users of the bufferpool should do this manually based on the results of
the allocation query.
2012-03-08 13:03:22 +01:00
Mark Nauwelaerts
8a3f818dce
audiodecoder: add some tag handling convenience help
2012-03-06 16:17:37 +01:00
Mark Nauwelaerts
5a0fff76f3
audiodecoder: add baseclass _CAST macro
2012-03-06 16:17:33 +01:00
Wim Taymans
4da57f08a1
videometa: make video metatransform
...
Make more generic video meta transform data that can be used for many video
transformations later.
2012-03-06 12:52:01 +01:00
Sebastian Dröge
1af6f94d84
video-blend: Actually allow negative offsets in the function signature too
2012-03-06 12:42:03 +01:00
Sebastian Dröge
aeb6a6ee71
pbutils: Fix 'comparison of unsigned enum expression < 0 is always false' compiler warning
2012-03-06 12:40:36 +01:00
Mark Nauwelaerts
d19f5467cc
audio: add helper function to convert mask to channel positions
...
... as there may be other than raw audio formats using a channel mask,
and there is already one to convert the other way around.
2012-03-05 13:03:57 +01:00
Mark Nauwelaerts
debbc75272
audioencoder: stop proxying some old-style 0.10 raw audio caps fields
2012-03-05 13:03:57 +01:00
Mark Nauwelaerts
1a2863bf33
audioencoder: store segment event as pending event to forego dropping it
2012-03-05 13:03:57 +01:00