Commit graph

3053 commits

Author SHA1 Message Date
Edward Hervey
4b946e8cee videodecoder: Ensure buffers don't disappear early
The frames are the owners of the buffers. In cases where a decoder
would keep around reference frames, we need to ensure they don't
disappear early.
To handle this, we pass downstream a complete sub-buffer of the output
buffer, ensuring that the buffer will only be released when downstream
is done with it *AND* the frame is no longer used.

Conflicts:

	gst-libs/gst/video/gstvideodecoder.c
2012-06-19 09:33:03 +01:00
Sebastian Dröge
4119246081 videoencoder,videodecoder: Return new references from _get_frame() 2012-06-19 09:26:36 +01:00
Wim Taymans
c003efcc63 audiobasesink: fix for basesink API change 2012-06-18 11:40:36 +02:00
Sebastian Dröge
1e635f682f videodecoder: Add GstVideoDecoder::propose_allocation() vfunc 2012-06-15 16:38:16 +02:00
Jan Schmidt
f865729e95 videodecoder: Fix initial timestamp in ogg, and a warning.
Don't replace the initial frame's timestamp with a bogus
one calculated from the (incorrect for Ogg) frame number just
because the 'sync time' hasn't changed.

Also, don't output a bogus warning about the output_frame being
NULL when it's being dropped/skipped due to QoS.
2012-06-13 01:58:05 +10:00
Jan Schmidt
d9740bf9ba audio decoder: Add some debug output for bad caps from children 2012-06-12 23:52:35 +10:00
Vincent Penquerc'h
f8b8711081 audiodecoder: push queued events only when we have a first buffer
https://bugzilla.gnome.org/show_bug.cgi?id=675812
2012-06-11 11:29:13 +01:00
Wim Taymans
9d6967fe9a Add generated orc files 2012-06-08 17:57:43 +02:00
Wim Taymans
12ac9f0aa2 Also build the orc generated code 2012-06-08 17:57:43 +02:00
Wim Taymans
3f8c5ea036 audio: add orc enabled pack and unpack functions 2012-06-08 17:57:43 +02:00
Wim Taymans
8e393d898a audio: add flag to mark possible unpack formats
Make a new flag to mark formats that can be used in pack and unpack functions.
Mark S32NE and F64NE as those unpack formats
2012-06-08 17:57:43 +02:00
Vincent Penquerc'h
8b10be67e4 videodecoder: use GST_CLOCK_TIME_IS_VALID where appropriate 2012-06-08 13:59:53 +01:00
Wim Taymans
c2112cb402 video: mark unpack formats with a flag
Add a new _UNPACK flag and use it to mark potential unpack formats.
2012-06-08 11:50:57 +02:00
Sebastian Dröge
462c4cc3d8 audio: Remove unused, generated marshallers 2012-06-08 11:28:56 +02:00
Wim Taymans
3da0b71876 audio: split audio header into logical parts 2012-06-08 10:10:08 +02:00
Vincent Penquerc'h
d7ee6a9c57 videodecoder: do not do timestamp arithmetic from an invalid timestamp
This fixes untimestampped buffers from being rejected by the segment clipper.

https://bugzilla.gnome.org/show_bug.cgi?id=676022
2012-06-07 16:59:09 +01:00
Vincent Penquerc'h
fd35793c38 video: fix memory leak 2012-06-07 11:23:21 +01:00
Wim Taymans
90b3f525e9 rtspconnection: handle cancellation correctly 2012-06-06 16:41:03 +02:00
Wim Taymans
baa2fac2f8 audiopayload: disable broken bufferlist handling
The bufferlist handling is broken so make sure it is never enabled.
2012-06-06 16:40:24 +02:00
David Svensson Fors
0b0dde7ce1 rtsp: don't leak address and socket
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=677466
2012-06-06 14:53:43 +02:00
Wim Taymans
a2172bdb4b update for tag event change 2012-06-06 13:05:47 +02:00
Wim Taymans
bc221fba78 video: add pack_lines variable
Use a separate variable to describe the amount of lines that will be used in
packing instead of abusing the h_sub variable. Some formats might have no
subsampling but need to operate on multipe lines.
2012-06-06 11:38:00 +02:00
Wim Taymans
a96acd3dbe video: add macro for component depth 2012-06-06 11:18:56 +02:00
Edward Hervey
eee5cec41e pbutils: Add descriptor for E-AC3 and PGS subtitles 2012-06-06 10:33:56 +02:00
Wim Taymans
ecdfb96f17 video: move methods into separate files
Move different video functionalities into different files
2012-06-05 12:47:22 +02:00
Wim Taymans
887d442da4 video: don't add unknown colorimetry 2012-06-04 18:24:03 +02:00
Wim Taymans
d923f9fe70 videodecoder: only copy known colorimetry values
Avoid overriding the default colorimetry values.
2012-06-04 18:17:42 +02:00
Wim Taymans
831519364c video: add unknown colorimetry parameters as well.. 2012-06-04 18:08:11 +02:00
Wim Taymans
379eb410c8 video: use unknown colorimetry for unknown formats
Use the default RGB colorimetry into only on RGB formats and use an unknown set
of defaults for the unknown format.
2012-06-04 18:00:42 +02:00
Wim Taymans
24f0ac588f video: (de)serialize colorimetry on caps 2012-06-04 16:17:32 +02:00
Wim Taymans
8f88f015f0 video: don't add empty colorimetry to caps
Don't use extra default colorimetry entries in the table to construct an output
colorimetry shortcut because they don't have a name.
2012-06-04 16:17:32 +02:00
Wim Taymans
c76f44bebb video: fix default colorspace settings
HD content is defined as height > 576
2012-06-04 16:17:32 +02:00
Wim Taymans
b718dc26b5 video: add generic film primaries 2012-06-04 16:17:31 +02:00
Sebastian Dröge
86b36c3463 videoencoder: Don't unref frame twice if not in the list 2012-06-04 10:46:13 +02:00
Matej Knopp
e316ff5435 videodecoder: Do not unref frame if not in the list 2012-06-04 10:43:56 +02:00
Sebastian Dröge
2667d4bb82 Revert "audiodecoder: Error out earlier in a few places if something goes wrong"
This reverts commit eb68a2d5a7.

This sometimes errors out too early now, needs some more thoughts.
2012-06-04 10:01:42 +02:00
Sebastian Dröge
f609b3a627 audiodecoder: Return setcaps return value instead of always TRUE 2012-06-04 09:56:30 +02:00
Sebastian Dröge
eb68a2d5a7 audiodecoder: Error out earlier in a few places if something goes wrong 2012-06-02 17:16:13 +02:00
Wim Taymans
1c9f9654bb video: set default colorimetry info
Set default colorimetry info when not otherwise specified in caps.
2012-06-01 12:09:44 +02:00
Tim-Philipp Müller
38df7e2d27 video: update disted orc backup files for recent changes 2012-06-01 10:02:02 +01:00
Wim Taymans
7f134c1441 video: fix paletted format
RGB8_PALETTED -> RGB8P
Fix the definition of paletted formats, store the palette in the second
plane.
Make sure we copy the palette correctly in gst_video_frame_copy()
Don't do alignment on the palette in videopool
2012-05-31 13:44:43 +02:00
Sebastian Dröge
8f92acdc86 video: And fix the build of the ORC sources 2012-05-30 13:07:57 +02:00
Sebastian Dröge
b354613556 video: Fix generation of orc sources 2012-05-30 13:06:11 +02:00
Wim Taymans
cdf55c7c7a video-blend: prepare for 0.11 porting
Remove obsolete code.
Remove the BlendInfo structure, we can do this better with GstVideoFrame
Use GstVideoFrame in the API
Prefix functions with gst_
2012-05-30 09:25:12 +02:00
Wim Taymans
a45bca53a1 video: add support for premultiplied alpha 2012-05-30 09:21:46 +02:00
Wim Taymans
69787d6f0c video: move enum difinition
c++ doesn't seem to like the typedef
2012-05-29 17:52:06 +02:00
Wim Taymans
fda981045a video: Remove duplicate formats
Remove Y800 and Y16 wich are the same as GRAY8 and GRAY16_LE
Add const to the GstVideoFormatInfo when used in argument
Add GRAY8 and GRAY16 pack/unpack functions
2012-05-29 17:52:06 +02:00
Wim Taymans
2d078e42a8 video: rename orc function names 2012-05-29 17:52:06 +02:00
Wim Taymans
abe4b0b235 video: fill in the pack/unpack functions
Add support for supporting chroma subsampling correctly in the pack
function.
Fill in the pack and unpack functions for most formats.
Add some missing pack/unpack functions to the orc file.
2012-05-29 17:52:06 +02:00
Wim Taymans
67587918f3 video-blend: remove unused defines 2012-05-29 17:52:06 +02:00