Ognyan Tonchev
de9aeb0c72
rtsp: Update the initial_buffer when merging RTSP Connections
...
See https://bugzilla.gnome.org/show_bug.cgi?id=679337
2012-07-10 11:34:47 +02:00
Wim Taymans
0dd87d7eb7
fix for allocator API changes
2012-07-09 16:28:25 +02:00
Mark Nauwelaerts
edbd1784bf
riff: rename field in gst_riff_strf_auds
...
... which is supposed to align with WAVEFORMATEX, but has confusing
names compared to the last 2 fields in the latter (and still
misses 1 field compared to the latter).
2012-07-09 12:27:56 +02:00
Mark Nauwelaerts
713b80f191
riff: fixup 0.11 port mishap in reading extra data length field
...
Fixes #679437 .
2012-07-06 15:05:31 +02:00
Wim Taymans
53fc1f3fca
update for query api changes
2012-07-06 11:50:44 +02:00
Wim Taymans
bc5ba349b7
update for allocation query changes
2012-07-06 11:05:09 +02:00
Mark Nauwelaerts
db3ce93c51
Revert "videooverlaycomposition: ensure proper buffer copy"
...
This reverts commit 1d413ace64
.
Plain gst_buffer_copy() is now doing the expected ...
See https://bugzilla.gnome.org/show_bug.cgi?id=678384 .
2012-07-05 16:39:17 +02:00
Sebastian Dröge
9002471c93
video: Document buffer ownership of the GstVideoCodecFrame more explicit
...
And also the implications of calling the finish() functions.
2012-07-05 14:29:42 +02:00
Sebastian Dröge
7803ae97e9
videodecoder: Make sure the buffer is writable before changing fields in finish_frame() too
...
We can't be sure that we have the one and only reference here either.
2012-07-05 13:38:48 +02:00
Sebastian Dröge
8e15a2c28d
videodecoder: Create a complete subbuffer before pushing
...
Otherwise we can't be sure that we are allowed to change the
buffer fields later for clipping.
2012-07-05 13:37:37 +02:00
Sebastian Dröge
74c7524b49
gst: Implement segment-done event
2012-07-05 13:06:04 +02:00
Sebastian Dröge
9de1b170b3
audiocdsrc: Remove the TOC query handling
2012-07-05 12:35:35 +02:00
Sebastian Dröge
0ac1596d8d
audiocdsrc: Update for TOC API changes
2012-07-05 12:29:00 +02:00
Wim Taymans
f7f2c13efc
update for miniobject changes
2012-07-04 17:06:28 +02:00
Wim Taymans
676375ecfe
videodec: add some assert
2012-07-04 09:15:26 +02:00
Wim Taymans
c7cfb66467
videodec: clear the right variable
2012-07-04 09:15:26 +02:00
Sebastian Dröge
b362ec3a57
audiocdsrc: Only push TOC event, the TOC message is handled by the sinks
2012-07-03 17:31:54 +02:00
Mark Nauwelaerts
bcc5a89a98
videooverlaycomposition: make API meta oriented
...
... and as such more consistent with other buffer meta components.
2012-07-03 14:27:35 +02:00
Mark Nauwelaerts
fa72c94a53
videooverlaycomposition: remove some post-port obsolete parts
2012-07-03 14:27:34 +02:00
Mark Nauwelaerts
1d413ace64
videooverlaycomposition: ensure proper buffer copy
...
This is only temporary and could and should be modified to use
regular buffer copy once https://bugzilla.gnome.org/show_bug.cgi?id=679145
is resolved.
2012-07-02 14:34:14 +02:00
Mark Nauwelaerts
0fba95a7b1
videooverlaycomposition: fix some refcounting and avoid possible NULL use
2012-06-29 18:56:09 +02:00
Tim-Philipp Müller
df70b2d2ce
audiocdsrc: send TOC event downstream if we're in continuous mode
...
If we're in continuous mode where we'll play the entire CD from
start to finish, send a TOC event downstream so any downstream
muxers can write a TOC to indicate where the various tracks
start and end.
2012-06-28 23:41:16 +01:00
Mark Nauwelaerts
e94022806f
videooverlaycomposition: port to 0.11
...
... which also entails porting video-blend
Fixes #678384 .
2012-06-28 18:16:20 +02:00
Oleksij Rempel
bc94374a8f
vorbistag: store DATE tag in GST_TAG_DATE_TIME instead of GST_TAG_DATE
...
The DATE field may contain dates, partial dates, or dates with
time. Store the result in GST_TAG_DATE_TIME, so we can express
properly which fields are present or not, and can store the
time if there is one, and can serialise and deserialise the
tag without loss of information and without making up
information that's not there.
Instead of using short YYYY-MM-DD form we will store
long YYYY-MM-DDTHH:MM:SS+TS date and time.
According to this documentation we can do it:
http://wiki.xiph.org/VorbisComment#Date_and_time
This datetime format is needed by apps where more information
is needed. For example voice, meeting recording, etc.
https://bugzilla.gnome.org/show_bug.cgi?id=677712
2012-06-27 23:49:02 +01:00
Wim Taymans
136a3fd37f
videoencoder: make PTS and DTS handling more explicit
2012-06-27 16:56:22 +02:00
Wim Taymans
c68683c15f
videodecoder: avoid crash when getting duration
...
Check that we have a valid output_state before attempting to use it to calculate
the duration of a buffer. It is possible that we don't have a state yet, for
example when we are dropping the first buffers.
2012-06-27 16:56:22 +02:00
Sebastian Dröge
43e94eea98
videodecoder: Use GSlice to allocate the timestamp tracking structures
2012-06-27 16:42:10 +02:00
Wim Taymans
3327d13f1b
videodecoder: small cleanups
2012-06-27 14:13:02 +02:00
Wim Taymans
9f591a0bd1
videodecoder: improve PTS and DTS handling
...
Also keep track of the DTS and use it to set PTS on keyframes.
Set DTS on outgoing buffers.
2012-06-27 13:48:58 +02:00
Tim-Philipp Müller
b27c649a48
audiocdsrc: post TOC message on the bus on start-up
...
First attempt at implement the various GstToc API
bits in GstAudioCdSrc.
https://bugzilla.gnome.org/show_bug.cgi?id=668996
2012-06-26 19:53:35 +01:00
Jan Schmidt
1718697ae2
videodecoder: Don't leak a ref to frames in reverse playback
2012-06-26 22:26:57 +10:00
Wim Taymans
1ed29bdb90
video-frame: handle map errors
...
Error out when something failed
2012-06-26 11:12:00 +02:00
Wim Taymans
59e99e827e
videometa: improve debug error reporting
2012-06-26 11:12:00 +02:00
Sreerenj Balachandran
a44058c12e
videoutils: Use g_list_free_full instead of g_list_foreach and g_list_free
2012-06-25 11:39:08 +02:00
Tim-Philipp Müller
a9d12f7bae
pbutils: update discoverer for GstToc API changes
2012-06-24 22:47:05 +01:00
Tim-Philipp Müller
a821d428bb
audio: make sure g-i doesn't parse orc-generated gstaudiopack.h file
2012-06-24 00:28:40 +01:00
Tim-Philipp Müller
100fe89aa2
tags: use gst_tag_register_static()
2012-06-23 15:44:16 +01:00
Sebastian Dröge
df63268e5a
appsrc: Actually store any URI that is set and return this when asked for the URI
2012-06-21 11:16:36 +01:00
Wim Taymans
fcc1e1f457
update for bus api changes
2012-06-20 12:34:01 +02:00
Wim Taymans
21e9f64ab2
update for task api change
2012-06-20 10:33:24 +02:00
Jan Schmidt
b7759a4d42
videodecoder: Don't give out bogus frame deadlines
...
Make sure the frame deadline was set before calculating the
max_decode_time. Fixes problems with ffmpeg skipping frames when
it doesn't need to, when the input doesn't have full timestamping
(divx in avi)
2012-06-20 03:45:14 +10:00
Jan Schmidt
9a79a145b1
videodecoder: Remove gst_video_decoder_get_timestamp function
...
Interpolating the timestamps from the picture numbers
does more harm than good, getting it wrong in a lot of
cases (especially reverse playback). Removing it in favour
of simply incrementing the timestamps until there's
something better
2012-06-20 03:40:29 +10:00
Jan Schmidt
45cf9f651b
videodecoder: EOS handling for reverse mode.
...
Handle EOS correctly in reverse mode by treating it
as a final discont and flushing out whatever we can.
2012-06-20 01:43:36 +10:00
Jan Schmidt
6718f0cfff
videodecoder: misc improvements/changes
...
Use g_list_free_full instead of walking lists twice when freeing
them.
Remove pointless clause in gst_video_decoder_chain that doesn't
actually have any effect.
Other changes to make the code slightly more like the 0.11
version.
2012-06-20 01:43:31 +10:00
Jan Schmidt
ffd0f28460
videodecoder: Improve timestamp handling.
...
Fix problems with timestamp calculations when the incoming
buffers have sparse timestamps (as for theora) and reverse
playback. Fixes #675773
2012-06-20 01:43:26 +10:00
Jan Schmidt
1935cf0022
videodecoder: Re-work reverse playback handling
...
Move processing of the gather list into the flush_parse function.
Add a last ditch attempt to apply timestamps to outgoing buffers
when walking backwards through decoded frames. Requires that each
gathered region has at least one timestamp.
Make sure to remove decoded packets from the decode list when
they are sent - otherwise the list just grows on each cycle, with
more and more frames being decoded and then clipped away.
Break out of the processing loop early on a bad flow return to make
seeking more responsive.
Use the gst_video_decoder_clip_and_push_buf function in reverse
mode, instead of pushing all buffers arbitrarily.
A couple of small efficiency gains in the list handling, by moving
list elements directly and not reallocating, and by reversing
and concatenating the gather list instead of moving it one node
at a time.
Rename the gst_video_decoder_do_finish_frame function to
gst_video_decoder_release_frame.
2012-06-20 01:34:44 +10:00
Jan Schmidt
5dc7d4ea3a
videodecoder: Split gst_video_decoder_finish_frame
...
Split the 2nd half of the gst_video_decoder_finish_frame function
out to gst_video_decoder_clip_and_push_buf.
2012-06-20 01:32:05 +10:00
Jan Schmidt
c977aa2c01
videodecoder: Rename queued list to output_queued for clarity.
...
Use g_list_free_full instead of g_list_foreach + g_list_free
2012-06-20 01:32:05 +10:00
Jan Schmidt
487e5348e0
videodecoder: Small cleanups
...
Remove extra deref using a local var, and add/change some doc comments
and debug statements
2012-06-20 01:32:05 +10:00
Jan Schmidt
2d770ac406
videodecoder: Rename gst_video_decoder_have_frame_2 function
...
Rename gst_video_decoder_have_frame_2 to
gst_video_decoder_decode_frame and pass the frame to process
directly, rather than using the current_frame pointer as a holding
pen.
Move the negative rate handling out of the function to where it
is needed, and remove the process flag.
2012-06-20 01:32:05 +10:00
Jan Schmidt
ca09aaabc7
videodecoder: Extend docs and add comments
...
Update the documentation block for the base class, and add a comment
block about the reverse-playback logic and implementation.
2012-06-20 01:32:03 +10:00
Sebastian Dröge
bdb4f7c101
videofilter: Don't duplicate code to create a new buffer pool if none is in the query
2012-06-19 13:57:00 +01:00
Sebastian Dröge
cb6b835d11
videoencoder: Ensure buffers don't disappear early
...
The frames are the owners of the buffers
2012-06-19 09:34:49 +01:00
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