Víctor Manuel Jáquez Leal
f7f0c55e5f
audiodecoder: getter for allocator
...
Sometimes the decoder would use the allocator for something else than just
allocating output buffers, for example, querying different parameters.
This patch expose a getter accessor for the negotiated memory allocator.
2012-08-14 15:47:34 +02:00
Víctor Manuel Jáquez Leal
936ec3eb8f
audioencoder: getter for allocator
...
Sometimes the encoder would use the allocator for something else than just
allocating output buffers, for example, querying different parameters.
This patch expose a getter accessor for the negotiated memory allocator.
2012-08-14 15:47:29 +02:00
Víctor Manuel Jáquez Leal
c02dcda885
videoencoder: getter for allocator
...
Sometimes the encoder would need to use the allocator for something else than
just allocating output buffers, for example, querying different parameters.
This patch expose a getter accessor for the negotiated memory allocator.
2012-08-14 15:47:23 +02:00
Víctor Manuel Jáquez Leal
efe9e31b34
videodecoder: getters for pool and allocator
...
Sometimes the decoder would need to use the pool or the allocator for
something else than just allocating output buffers. For example, the querying
for different parameters, such as asking for a bigger number of buffers to
allocate in the pool.
This patch expose a two getters accessors: one for the buffer pool and the
other for the memory allocator.
2012-08-14 15:47:04 +02:00
Tim-Philipp Müller
2ff4d2efe3
audioencoder: return TRUE from _set_output_format() if all is good
...
Fixes not-negotiated errors in wavpackenc unit test.
2012-08-13 23:34:52 +01:00
Wim Taymans
e6b606cfa3
discovere: also parse encoded formats
...
The video library can now also parse encoded formats so use this to fill up the
width/height and other properties.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=681535
2012-08-13 11:27:47 +02:00
Wim Taymans
1e8827ed33
discoverer: remove \n from debug statement
2012-08-13 11:27:26 +02:00
Tim-Philipp Müller
26ec6d49a1
docs: expand GstDiscoverer::discovered signal docs a little
2012-08-10 17:08:31 +01:00
Evan Nemerson
a6fc7732c1
appsink, appsrc: skip set_callbacks APIs for introspection
...
https://bugzilla.gnome.org/show_bug.cgi?id=678301
2012-08-10 16:07:04 +01:00
Tim-Philipp Müller
d1299d1357
videodecoder: fix seeking again
...
Add missing break in FLUSH_STOP case.
2012-08-09 19:57:49 +01:00
Sebastian Dröge
62ec7f837d
audioencoder: Let global tag events be handled the same way as other events
2012-08-09 17:06:31 +02:00
Sebastian Dröge
e9fbba63b5
audiodecoder: Let global tag events be handled the same way as other events
2012-08-09 16:55:19 +02:00
Sebastian Dröge
2a1f8a4da3
audio: Merge upstream stream tags
2012-08-09 16:24:47 +02:00
Sebastian Dröge
b141bfed60
video: Merge upstream stream tags
2012-08-09 16:24:24 +02:00
Sebastian Dröge
9ffb579b75
videodecoder: Add API to conveniently handle tags
2012-08-09 16:02:42 +02:00
Sebastian Dröge
3c915afc39
videoencoder: Add API to conveniently handle tags
2012-08-09 16:02:15 +02:00
Sebastian Dröge
7f0e65bb46
audio: Always keep a complete taglist around
...
Otherwise updates to the tags will cause non-updated
tags to be lost downstream.
2012-08-09 15:48:03 +02:00
Sebastian Dröge
bc4d923982
audioencoder: Add negotiate vfunc that is used to negotiate with downstream
...
The default implementation negotiates a buffer pool and allocator
with downstream.
2012-08-09 15:27:33 +02:00
Sebastian Dröge
9309272309
audioencoder: Decouple setting of output format and downstream negotiation
...
This makes the audio encoder base class more similar to the video
encoder base class.
2012-08-09 15:21:01 +02:00
Sebastian Dröge
513d4f7cd1
audiodecoder: Add negotiate vfunc that is used to negotiate with downstream
...
The default implementation negotiates a buffer pool and allocator
with downstream.
2012-08-09 15:10:05 +02:00
Sebastian Dröge
e1702d62a0
audiodecoder: Decouple setting of output format and downstream negotiation
...
This makes the audio decoder base class more similar to the video
decoder base class.
2012-08-09 15:02:27 +02:00
Sebastian Dröge
e37bb460bd
videoencoder: Add negotiate vfunc that is used to negotiate with downstream
...
The default implementation negotiates a buffer pool and allocator
with downstream.
2012-08-09 14:47:46 +02:00
Sebastian Dröge
7cb22ef241
videodecoder: Add negotiate vfunc that is used to negotiate with downstream
...
The default implementation negotiates a buffer pool and allocator
with downstream.
2012-08-09 14:47:46 +02:00
Sebastian Dröge
7bdcb12b41
gst: Set alignment at the correct place of GstAllocationParams
2012-08-08 17:41:19 +02:00
Andoni Morales Alastruey
d8326a8eda
videoencoder: add proper format for gsize
2012-08-08 17:41:19 +02:00
Andoni Morales Alastruey
d2aebc7f94
rtpbuffer: use proper format for gsize
2012-08-08 17:41:19 +02:00
Sebastian Dröge
98983e08ae
videoencoder: Always propose a video buffer pool when the subclass didn't provide one
...
And also request 16-byte aligned buffers if the subclass didn't
set anything else.
2012-08-08 17:41:19 +02:00
Sebastian Dröge
8b916da6d7
videofilter: Really add a buffer pool if none was provided
...
And also use the allocation parameters from the query if any
and if there are none set our own (16-byte alignment) on the
query.
2012-08-08 12:19:31 +02:00
Sreerenj Balachandran
8707546345
videofilter: Fix the crash in propose_allocation
...
Always set a buffer pool if none is provided and don't
set/unref a NULL buffer pool on the query.
https://bugzilla.gnome.org/show_bug.cgi?id=681436
2012-08-08 12:03:05 +02:00
Tim-Philipp Müller
17c839c8a1
No statements with side-effects in g_assert() or g_return_*() please
2012-08-08 10:11:48 +01:00
Tim-Philipp Müller
6422f2d085
Update .gitignore
2012-08-08 09:06:30 +01:00
Руслан Ижбулатов
8f33ad80d0
discoverer: Add source-setup signal for GstDiscoverer
...
https://bugzilla.gnome.org/show_bug.cgi?id=681260
2012-08-06 14:42:25 +02:00
Sebastian Dröge
880b9a20a6
tagdemux: Add stream-id to stream-start event
2012-08-06 14:01:28 +02:00
Tim-Philipp Müller
211cc1cf68
video: make sure g-i doesn't parse orc-generated video-orc.h file
...
It's not public API.
2012-08-05 14:40:03 +01:00
Tim-Philipp Müller
284f96765c
pbutils: use generic marshaller for discoverer's "discovered" signal
...
If this change causes build issues, run git clean -x -d -f; ./autogen.sh
2012-08-05 14:06:14 +01:00
Tim-Philipp Müller
07158ff1f2
riff: fix build on big endian systems
2012-08-04 19:33:32 +01:00
Thiago Santos
6d4f94f45e
appsrc: send caps event when the user updates appsrc caps
...
As buffer don't have caps anymore, the caps event needs to be pushed
before buffers are pushed.
2012-08-02 19:00:35 -03:00
Tim-Philipp Müller
36f32d3f93
tag: fix month/day extraction in ID3v2 tags
...
We were passing month/day in the wrong order to
gst_date_time_new_ymd().
2012-08-02 00:23:28 +01:00
René Stadler
39aa4dc674
discoverer: fix discover_uri returning finalized info object
2012-07-31 01:19:36 +02:00
Tim-Philipp Müller
063dc1712e
tag: fix up EXIF writer for GstBuffer -> GstSample
2012-07-28 11:54:38 +01:00
Tim-Philipp Müller
ca31913c04
audiocdsrc: update for TOC API change
2012-07-28 11:13:12 +01:00
Sebastian Dröge
99d73c94e9
tag: Update for taglist/tag event API changes
2012-07-28 00:35:02 +02:00
Wim Taymans
683a38ad65
update for new variable names
2012-07-27 15:24:43 +02:00
Edward Hervey
6423a4027e
video: Make all frame_number guint32
...
Unifies the code and ensures that:
* subclasses needing to use the frame_number on a void* field will
always work
* wraparounds will be automatically taken care of if we have to deal
with more than 2**32 frames
2012-07-26 18:38:42 +02:00
Wim Taymans
40a0624e99
audio-format: fix shift for 18 bits samples
...
The 18bits of the sample are in the LSB so we need to shift them 14 positions to
bring them to 32 bits.
2012-07-26 15:42:38 +02:00
Mark Nauwelaerts
7b135e8810
video{de,en}coder: delay input caps processing until processing data
...
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=680614
2012-07-26 14:35:45 +02:00
Mark Nauwelaerts
c91615bd82
audio{de,en}coder: delay input caps processing until processing data
...
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=680614
2012-07-26 14:35:30 +02:00
Arnaud Vrac
8ab19ba9ca
video-frame: fix invalid plane id on video frame mapping error
2012-07-26 01:52:25 +02:00
Mark Nauwelaerts
28537dc73c
audioencoder: avoid setting output caps twice
...
... which may not be handled or appreciated well downstream,
e.g. muxers only performing header setup once.
2012-07-25 15:58:19 +02:00
Mark Nauwelaerts
1f962bc108
audioencoder: also consider filter caps in getcaps
2012-07-25 15:58:19 +02:00
Mark Nauwelaerts
e1137b8c66
videoencoder: minor doc fix
2012-07-25 15:58:19 +02:00
Mark Nauwelaerts
26d74941fb
Revert "audioencoder: plug caps ref leak"
...
This reverts commit 08ff5899a7
.
Was not a leak to begin with as we did not have ownership of caps.
2012-07-25 12:30:54 +02:00
Mark Nauwelaerts
08ff5899a7
audioencoder: plug caps ref leak
2012-07-25 11:58:26 +02:00
Mark Nauwelaerts
473371f943
audiodecoder: hold caps ref while needed
2012-07-25 11:58:26 +02:00
Mark Nauwelaerts
d55529621c
audioencoder: correctly compare audio info positions
...
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=680553
2012-07-25 11:58:26 +02:00
Vivia Nikolaidou
d2e1b64e0c
videoencoder: Expose _negotiate function
...
This is to be called by encoders once they have set the output format
in order for (re)negotiation to be triggered as early as possible.
https://bugzilla.gnome.org/show_bug.cgi?id=679878
2012-07-24 20:42:49 +02:00
Mark Nauwelaerts
65ea6dee60
audiodecoder: only arrange to reconfigure if data provided
...
... otherwise audio format need not be known already.
2012-07-24 14:48:59 +02:00
Sreerenj Balachandran
1256d5ed71
video-blend: Doc fix
2012-07-24 12:56:46 +02:00
Marc Leeman
791163aba2
gst-rtsptransports: no warning Transport end with semicolumn
2012-07-24 12:49:29 +02:00
Mark Nauwelaerts
d63a4024b8
audiodecoder: minor doc fix
2012-07-24 12:30:21 +02:00
Jens Georg
bde0f9b992
pbutils: Update ownership annotation of gst_container_add_profile
...
https://bugzilla.gnome.org/show_bug.cgi?id=680488
2012-07-23 22:36:23 +01:00
Wim Taymans
5ff002b47a
audio: prefix orc_* functions with audio_orc_*
...
To avoid potential conflicts in other modules when statically linking
2012-07-23 17:16:34 +02:00
Wim Taymans
38552a2a8a
video: rename gst_video_orc_* to video_orc_*
...
Because then the functions would not be exported
2012-07-23 17:10:08 +02:00
Wim Taymans
e98c8538c5
orc: prefix orc functions with gst_video_orc_
...
See https://bugzilla.gnome.org/show_bug.cgi?id=680025
2012-07-23 16:56:55 +02:00
Wim Taymans
b392b28179
orc: rename to video-orc*
2012-07-23 16:52:33 +02:00
Robert Swain
5be353ed5e
video-frame: Add missing closing brakcets on flag macros
2012-07-23 14:23:39 +02:00
Wim Taymans
9e08343d5c
video-frame: add macros to get frame flags
2012-07-23 13:58:07 +02:00
Wim Taymans
f9de2f499b
video-frame: use interlacing buffer flags
...
Also use the buffer flags to enhance the GstVideoInfo flags in the case where
there was metadata on the buffers.
2012-07-23 13:32:59 +02:00
Sebastian Dröge
fcf5e389ce
videoencoder: Hold the stream lock when reconfiguring the element
2012-07-23 12:06:16 +02:00
Sebastian Dröge
d55d7fdc38
audio: Renegotiate if necessary
...
And also correct usage of the base class stream lock.
2012-07-23 12:01:12 +02:00
Sebastian Dröge
df08e333d2
video: Correct usage of the base class stream lock
...
And also renegotiate if the srcpad requires reconfiguration
2012-07-23 11:50:11 +02:00
Sebastian Dröge
7b06c34868
audiodecoder: Handle allocation query
2012-07-23 11:42:22 +02:00
Sebastian Dröge
0814d38e98
audiodecoder: Add propose_allocation, decide_allocation vfuncs and functions to allocate buffers with information from the allocation query results
2012-07-23 10:28:05 +02:00
Sebastian Dröge
0513d3d9f4
audioencoder: Add propose_allocation, decide_allocation vfuncs and functions to allocate buffers with information from the allocation query results
2012-07-23 10:20:05 +02:00
Sebastian Dröge
1645ea4a90
video: Rename alloc_output_buffer() to allocate_output_buffer()
2012-07-23 10:18:41 +02:00
Sebastian Dröge
97ba363092
videoencoder: Minor cleanup
2012-07-23 10:04:48 +02:00
Sebastian Dröge
fc24035790
videoencoder: Fix parameters names in header
2012-07-23 09:54:50 +02:00
Sebastian Dröge
cce1078fe9
videoencoder: Add decide_allocation vfunc and functions to allocate buffers with the information from the allocation query
2012-07-23 09:39:47 +02:00
Wim Taymans
4b56b731d2
video-frame: add interlace flag
...
Add an interlace flag so that we can see if a frame is interlaced or progressive
in the mixed interlace-mode.
2012-07-20 10:20:38 +02:00
Anton Belka
0ee355e4da
riff: add "labl" tag
...
Add GST_RIFF_TAG_labl which is needed for wavparse:
https://bugzilla.gnome.org/show_bug.cgi?id=677306
2012-07-20 09:54:07 +02:00
Tim-Philipp Müller
ed8504e590
video-overlay-composition: fix GSlice alloc/free size mismatch
...
Fix copy'n'paste bug which made us allocate a slice of the
size of a rectangle for the overlay composition, but then
free it passing the size of an overlay composition, which
is not something GSlice takes to kindly, resulting in scary
aborts like:
***MEMORY-ERROR***: GSlice: assertion failed: sinfo->n_allocated > 0
Also, g_slice_new already includes a cast, so remove our
own casts, without which the compiler would probably have
told us about this ages ago.
https://bugzilla.gnome.org/show_bug.cgi?id=680091
2012-07-19 13:39:25 +01:00
Edward Hervey
55f692eff6
audiodecoder: Don't assert on pad caps not being set
...
The decoder might have been de-activated in the meantime (resulting
in NULL pad caps).
If the decoder really isn't configured, then it will error out further
down when checking whether the GST_AUDIO_INFO_IS_VALID()
https://bugzilla.gnome.org/show_bug.cgi?id=667562
2012-07-19 10:55:53 +02:00
Edward Hervey
8feaebb6eb
videodecoder: Expose _negotiate function
...
This is to be called by decoders once they have set the output format
in order for (re)negotiation to be triggered as early as possible.
https://bugzilla.gnome.org/show_bug.cgi?id=679878
2012-07-18 18:17:57 +02:00
Mark Nauwelaerts
f89c7b605f
videooverlaycomposition: replace API parameters with required video meta on pixel data
2012-07-17 18:08:11 +02:00
Mark Nauwelaerts
d8a9c18e81
videooverlaycomposition: use GstVideoInfo internally and streamline stride handling
2012-07-17 18:08:11 +02:00
Mark Nauwelaerts
d03f926162
videoblend: use correct stride when scaling
2012-07-17 18:08:11 +02:00
Wim Taymans
11a494d5c9
rtp: Add support for multiple memory blocks in RTP
...
Add support RTP buffers with multiple memory blocks. We allow one block for the
header, one for the extension data, N for data and one memory block for the
padding.
Remove the validate function, we validate now when we map because we need to
parse things in order to map multiple memory blocks.
2012-07-17 16:41:36 +02:00
Evan Nemerson
abcba2d0d7
sdpmessage: add some missing introspection annotations
2012-07-17 11:10:43 +02:00
Evan Nemerson
f21c4667b9
rtp: add many missing annotations on RTP/RTCP buffer functions
2012-07-17 11:10:37 +02:00
Evan Nemerson
63579633f5
rtpbaseaudiopayload: add transfer annotation to get_adapter return
2012-07-17 11:10:04 +02:00
Evan Nemerson
207a6b5fe1
discoverer: minor GTK-Doc fixes
2012-07-17 11:07:24 +02:00
Evan Nemerson
7a7374f2ef
audiometa: add missing array array annotations
2012-07-17 11:07:18 +02:00
Evan Nemerson
17815020fd
audio: add missing array and element-type annotations for binary data
2012-07-17 11:06:57 +02:00
Evan Nemerson
fd91104636
audio-channels: add missing array-related annotations
2012-07-17 11:06:47 +02:00
Evan Nemerson
1606028c08
audioencoder: add missing element-type to set_headers method
2012-07-17 11:06:22 +02:00
Evan Nemerson
e61a87ea1d
appsrc, appsink: fix documentation syntax and mismatched arguments
2012-07-17 10:21:07 +02:00
Tim-Philipp Müller
be369ff630
riff: use GST_TAG_DATE_TIME instead of GST_TAG_DATE here as well
2012-07-15 00:22:38 +01:00
Tim-Philipp Müller
f46c383818
tag: use GST_TAG_DATE_TIME for storing dates instead of GST_TAG_DATE
...
So we can express partial dates.
2012-07-15 00:14:36 +01:00
Tim-Philipp Müller
54e9581a59
tag: extract dates from ID3v2 tags into GstDateTime instead of GDate
...
We may only have a year, or year and month+day, or (in future)
both date and time.
2012-07-14 15:37:46 +01:00
Tim-Philipp Müller
a1d1bd0517
tag: extract year from ID3v1 tag as GstDateTime instead of GDate
...
So we can signal properly that only the year is valid.
2012-07-14 15:34:56 +01:00
Wim Taymans
eacb9ee554
video: add method to get offset and scale for a format
...
Add a method to get the offset and scale values to transform the color values of
a format to their normalized [0.0 .. 1.0] range. This is usually required as
the first step of a colorspace conversion.
2012-07-13 17:13:10 +02:00
Wim Taymans
a18c098f82
video: add option to unpack and truncate the range
...
Add an unpack option to specify what to do with the least significant bits of
the destination when the source format has less bits than the destination. By
default we will now copy the most significant bits of the source into the least
significant bits of the destination so that the full color range is represented.
Add an option to leave the extra destination bits 0, which may be faster and
could be compensated for in the element algorithm.
2012-07-13 15:42:26 +02:00
Wim Taymans
866bf89dfe
video: fix endianness of the pack formats
2012-07-13 15:35:27 +02:00
Wim Taymans
bc78df5d2d
video: fix r210 format
...
It is an RGB format.
2012-07-13 15:22:57 +02:00
Edward Hervey
3eb5378247
video-blend: Fix argument signedness
...
The x/y values are meant to be signed.
This bug was introduced by 76c0881549
Conflicts:
gst-libs/gst/video/video-blend.c
gst-libs/gst/video/video-blend.h
2012-07-13 12:18:29 +02:00
Edward Hervey
2817bdadc9
libs: Remove "Since" markers and minor doc fixups
2012-07-13 12:11:06 +02:00
Edward Hervey
666716a0f0
tagdemux: Push a STREAM_START on new caps
2012-07-13 12:10:01 +02:00
Edward Hervey
c9428c96b1
baseaudiosink: Resync when ringbuffer resets
...
When the ringbuffer gets restarted (like in setcaps), we *will* have
to resync against the new values.
Without this we end up blindly assuming the new samples align to the
old ones.
2012-07-12 09:51:35 +02:00
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
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
Wim Taymans
c66da2c74b
audio: add flags for the pack/unpack functions
...
Add a flag argument to the pack and unpack function so that we can expand it
later when needed. We could for example prefer a High Quality pack/unpack
operation later.
2012-05-29 09:54:43 +02:00
Wim Taymans
2ba36a69bf
video: add flags for the pack/unpack functions
...
Add a flag argument to the pack and unpack function so that we can expand it
later when needed. We could for example prefer a High Quality pack/unpack
operation later.
2012-05-29 09:53:15 +02:00
Wim Taymans
3925b20e25
video: add padding
2012-05-29 09:52:40 +02:00
Wim Taymans
467f8d360a
video: fix v216 format description
...
Fix the offsets of v216 video
Add the complex flag to some formats
2012-05-28 16:14:30 +02:00
Wim Taymans
413cd6dc2e
videopool: take pixel stride into account
...
When we need to add borders, take the pixel stride into account to move to the
right horizintal offset.
2012-05-28 12:59:40 +02:00
Tim-Philipp Müller
af7dc60479
tag: don't use GstStructure API on tag lists
2012-05-26 19:56:30 +01:00
Wim Taymans
59d8d73aa2
video: add 10 bits I420 format
...
Add 10 bits I420 format definitions
Move encoded format as second entry in the array so that it doesn't end up in a
weird place when we add formats.
See https://bugzilla.gnome.org/show_bug.cgi?id=665034
2012-05-25 17:01:19 +02:00
Arun Raghavan
9c29cd70ee
audio: Fix DTS IEC61937 payloading
...
DTS type I-III specify the burst length in bits. Only type IV (which we
do not currently support) needs it to be specified in bytes. Thanks to
Julien Moutte for pointing this out.
2012-05-25 12:38:32 +02:00
Raimo Järvi
d42a197c04
video: Fix printf format warnings on mingw-w64
...
https://bugzilla.gnome.org/show_bug.cgi?id=676442
2012-05-24 10:57:21 +02:00
Sreerenj Balachandran
38a2fe673e
videodecoder: improve doc
2012-05-23 10:16:25 +02:00
Sreerenj Balachandran
a19ae16b5a
videoutils: improve doc
2012-05-23 10:16:25 +02:00
Sebastian Dröge
fc537ad667
discoverer: Put back accidentially deleted line
2012-05-21 10:08:33 +02:00
Anton Belka
42cb4bdf67
discoverer: Add TOC support to discoverer and add -c/--toc parameters to gst-discoverer utility
2012-05-21 08:52:05 +02:00
Wim Taymans
b0cc0a31e2
rtsp: unref sockets in _close
...
When closing the connection, unref the currently used sockets. This should close
them when not in use. We need to do this because else we cannot reconnect
anymore after a close, the connect function requires that the sockets are NULL.
2012-05-18 09:47:26 +02:00
Wim Taymans
2cd15bbef8
rtsp: clear the GError for pending connect
...
Clear the GError after g_socket_connect tells us that the connection is pending.
If we don't do this, glib complains when we try to reuse the non-NULL GError
variable a little below.
2012-05-18 09:47:26 +02:00
Tim-Philipp Müller
892cefe651
appsrc: simplify get_property for "caps" property
2012-05-17 22:11:27 +01:00
Tim-Philipp Müller
e110d8b6f4
appsrc: remove filter argument from gst_app_src_get_caps()
...
Was presumably added by mistaken in the grand _get_caps()
conversion. Doesn't really make sense for a property accessor.
2012-05-17 22:04:24 +01:00
Sebastian Dröge
ed6d46e156
video: Rename gst_video_codec_frame_set_hook() to gst_video_codec_frame_set_user_data()
...
And also add a getter and allow to set NULL user_data but still call
the passed destroy notify.
2012-05-16 14:06:12 +02:00
Tim-Philipp Müller
c1bc70300d
docs: fix up video decoder/encoder docs a bit
...
Makes gtk-doc happy.
2012-05-16 12:40:07 +01:00
Tim-Philipp Müller
0e216d1f4c
typefinding, ogg: don't bother with annodex media types
...
They're hardly used, and probably more confusing than anything
else, and it's not clear that anyone would really need to be
able to tell them apart at the media type level.
2012-05-13 18:49:31 +01:00
Vivia Nikolaidou
34d6031974
discoverer: Ported fix for bug #673504 to 0.11
2012-05-11 16:44:15 +02:00
Vivia Nikolaidou
4d9d707e32
discoverer: Wait until an update/filler newsegment event or buffer for subtitle streams
...
This makes sure that we wait until we received all tags for the
subtitle streams and have all information that is collected by
the discoverer.
Fixes bug #673504 .
2012-05-11 16:44:15 +02:00
Nicolas Dufresne
c2f52f8154
video: Key unit event properties are optional
...
https://bugzilla.gnome.org/show_bug.cgi?id=675758
2012-05-10 16:08:58 +02:00
Sebastian Rasmussen
b7b123964b
gst-libs: make pkg-config get path to pkg-config dirs from configure
...
When --with-pkg-config-path is supplied to configure this path is now
explicitly propagated to pkg-config.
https://bugzilla.gnome.org/show_bug.cgi?id=673377
2012-05-05 23:26:20 +01:00
Sebastian Dröge
ecd061e48c
videodecoder: Also change gst_video_decoder_get_oldest_frame() to return a new reference
2012-05-01 16:59:10 +02:00
Edward Hervey
4d7cd2e638
videoencoder: _get_oldest_frame: return a reference
2012-05-01 16:59:06 +02:00
Edward Hervey
67a4c0c7b2
videoencoder: Add a reference to frame passed to subclass
...
We have one reference owned by the internal frame list and one reference
passed to the subclass.
2012-05-01 16:59:00 +02:00
Edward Hervey
8217575af1
videodecoder: Add a reference to frame passed to subclass
...
We have one reference owned by the internal frame list and one reference
passed to the subclass.
2012-05-01 16:58:55 +02:00
Wim Taymans
34bfcb2af9
videodecoder: don't leak events
...
When need to push out all the previously received events, concatenate all the
events from the previous frames (instead of leaking the old ones)
Improve debugging a little
Conflicts:
gst-libs/gst/video/gstvideodecoder.c
2012-05-01 16:58:48 +02:00
Wim Taymans
8fde7850c0
videodecoder: don't leak frames
...
Frames receive a refcount when added to the frames list so release that refcount
in gst_video_decoder_do_finish_frame(). Also release the ref on the frame
because gst_video_decoder_do_finish_frame() takes ownership of the passed frame.
2012-05-01 15:03:40 +02:00
Wim Taymans
e8c7f57a0a
videodecoder: avoid double unlock
2012-05-01 15:03:21 +02:00
Sebastian Dröge
52dfa13522
videofilter: Use a GstVideoBufferPool if none was provided
2012-05-01 13:33:20 +02:00
Sebastian Dröge
cb04d8e003
videodecoder: Do bufferpool configuration inside the default decide_allocation() implementation
...
This allows subclasses to override it, as is necessary for e.g. the
video-crop meta. It is now necessary that after decide_allocation()
there is always a allocator and a configured buffer pool inside the
query.
2012-05-01 13:33:20 +02:00
Tim-Philipp Müller
9c09fbda52
tag: improve gobject-introspection annotations
2012-04-29 17:16:38 +01:00
Tim-Philipp Müller
885df9cace
pbutils: update descriptions for new webm/matroska media types
2012-04-28 15:51:08 +01:00
Sebastian Dröge
f9facc6a4a
video: Remove interlaced handling from the video base classes
...
This must be handled by the subclasses in 0.11 because interlacing
is much more complex now and can't be handled in a generic way.
2012-04-25 18:21:03 +02:00
Wim Taymans
ae42b25c07
video: improve docs and design of multiview interlaced
...
Put fields of interlaced frames after eachother.
Improve the docs of the video interlaced enums.
2012-04-25 15:27:04 +02:00
Wim Taymans
07d34f576a
video: add fields interlacing enum
...
Add an enum and docs for the fields interlace mode.
Improve the video caps docs for the fields interlace mode.
2012-04-25 14:57:40 +02:00
Wim Taymans
777d044357
videodec: remove some FIXMEs
2012-04-25 14:57:40 +02:00
Sebastian Dröge
bcef106f73
video: Fix latency query handling if the element's own max_latency is GST_CLOCK_TIME_NONE
2012-04-25 13:53:29 +02:00
Sebastian Dröge
71900c4342
video: Only use the interlacing buffer flags if the caps specify interlaced video
2012-04-25 13:46:00 +02:00
Sebastian Dröge
47e169b0b5
videoencoder: Proxy the interlaced buffer flags to the GstVideoCodecFrame
2012-04-25 13:44:30 +02:00
Sebastian Dröge
76f47979c1
videoencoder: Don't propose video-meta by default
2012-04-25 13:19:11 +02:00
Sebastian Dröge
7c165187af
videodecoder: Change configure_buffer_pool() vfunc to decide_allocation() with same semantics as in basetransform
2012-04-25 13:19:11 +02:00
Sebastian Dröge
3de8d58c4e
videoencoder: Add support for subclasses to propose allocation parameters
2012-04-24 22:42:59 +02:00
Sebastian Dröge
1483997207
videodecoder: Add support for subclasses to configure the buffer pool
2012-04-24 22:35:29 +02:00
Sebastian Dröge
a8c40a658c
video: Some porting bugfixes
2012-04-24 21:32:08 +02:00
Sebastian Dröge
b945c01549
videodecoder: Add minimal support for buffer pools
2012-04-24 20:04:48 +02:00
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
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
Mark Nauwelaerts
aae64c40a8
audiodecoder: plug caps leak when setting output format
2012-03-05 13:03:57 +01:00
Mark Nauwelaerts
3b0a2a60da
audiodecoder: enhance some debug statement
2012-03-05 11:04:20 +01:00
Jonathan Matthew
bc1fb43408
discoverer: don't change result for missing plugin errors
...
https://bugzilla.gnome.org/show_bug.cgi?id=671047
2012-03-03 13:50:34 +00:00
Wim Taymans
1ede067d27
videofilter: always chain up to parent propose_allocation
2012-03-02 17:34:50 +01:00
Wim Taymans
337eed6e91
videometa: add videoscale metadata transform
2012-03-02 13:11:36 +01:00
Sebastian Dröge
84a02f9f13
Merge branch '0.11' of ssh://git.freedesktop.org/git/gstreamer/gst-plugins-base into 0.11
2012-03-02 10:13:52 +01:00
Sebastian Dröge
f7939bb43f
Merge branch 'master' into 0.11
...
Conflicts:
NEWS
RELEASE
configure.ac
docs/plugins/gst-plugins-base-plugins.args
docs/plugins/gst-plugins-base-plugins.hierarchy
docs/plugins/gst-plugins-base-plugins.interfaces
docs/plugins/inspect/plugin-adder.xml
docs/plugins/inspect/plugin-alsa.xml
docs/plugins/inspect/plugin-app.xml
docs/plugins/inspect/plugin-audioconvert.xml
docs/plugins/inspect/plugin-audiorate.xml
docs/plugins/inspect/plugin-audioresample.xml
docs/plugins/inspect/plugin-audiotestsrc.xml
docs/plugins/inspect/plugin-cdparanoia.xml
docs/plugins/inspect/plugin-encoding.xml
docs/plugins/inspect/plugin-ffmpegcolorspace.xml
docs/plugins/inspect/plugin-gdp.xml
docs/plugins/inspect/plugin-gio.xml
docs/plugins/inspect/plugin-gnomevfs.xml
docs/plugins/inspect/plugin-libvisual.xml
docs/plugins/inspect/plugin-ogg.xml
docs/plugins/inspect/plugin-pango.xml
docs/plugins/inspect/plugin-playback.xml
docs/plugins/inspect/plugin-subparse.xml
docs/plugins/inspect/plugin-tcp.xml
docs/plugins/inspect/plugin-theora.xml
docs/plugins/inspect/plugin-typefindfunctions.xml
docs/plugins/inspect/plugin-uridecodebin.xml
docs/plugins/inspect/plugin-videorate.xml
docs/plugins/inspect/plugin-videoscale.xml
docs/plugins/inspect/plugin-videotestsrc.xml
docs/plugins/inspect/plugin-volume.xml
docs/plugins/inspect/plugin-vorbis.xml
docs/plugins/inspect/plugin-ximagesink.xml
docs/plugins/inspect/plugin-xvimagesink.xml
gst-libs/gst/app/gstappsink.c
gst-libs/gst/audio/mixer.c
gst-libs/gst/audio/mixer.h
gst-libs/gst/tag/gstxmptag.c
gst-libs/gst/video/colorbalance.c
gst-libs/gst/video/colorbalance.h
gst/adder/gstadder.c
gst/playback/gstplaybasebin.c
gst/playback/gstplaybin2.c
gst/playback/gstplaysink.c
gst/videoscale/gstvideoscale.c
tests/check/elements/videoscale.c
tests/examples/seek/seek.c
tests/examples/v4l/probe.c
win32/common/_stdint.h
win32/common/audio-enumtypes.c
win32/common/config.h
2012-03-02 10:00:55 +01:00
Wim Taymans
91c587af22
videofilter: fix for decide_allocation changes
...
Chain up to parent.
2012-03-01 17:34:56 +01:00
Wim Taymans
502c12f827
update for metadata API changes
2012-02-29 17:25:10 +01:00
Wim Taymans
a232714065
meta: add return value to transform
2012-02-28 16:18:30 +01:00
Wim Taymans
af308ac04d
videofilter: fix some comments
2012-02-28 16:16:22 +01:00
Wim Taymans
1c05eeece5
update for metadata tags
2012-02-28 12:10:14 +01:00
Philippe Normand
63ace8872d
audio: link against libm
...
It is used in gststreamvolume.
2012-02-27 14:36:25 +00:00
Edward Hervey
59918e841f
Suppress deprecation warnings in selected files, for g_value_array_* mostly
2012-02-27 14:28:15 +01:00
Wim Taymans
5a0354b416
audioencoder: don't leak event
2012-02-27 13:08:36 +01:00
Wim Taymans
15eb385412
audioencoder: use default event function
...
Implement a default event function so that subclasses can call it without having
to return FALSE (and make it impossible to report errors).
2012-02-27 12:49:52 +01:00
Alessandro Decina
9f1732fba7
Fix compiler warnings
2012-02-26 20:36:46 +01:00
Tim-Philipp Müller
3fd8217898
appsink: implement SEEKING query
...
We don't support seeking (in the sense that upstream can
make us jump back and forth to certain offsets in the
output).
2012-02-25 15:21:30 +00:00
Tim-Philipp Müller
5dbb27fb50
pbutils: fix gst_install_plugins_{sync,async} g-i annotations
...
the gir scanner doesn't use a sensible defaults for string array
arguments, so we have to annotate it properly.
https://bugzilla.gnome.org/show_bug.cgi?id=668343
2012-02-25 00:39:53 +00:00
Stefan Sauer
0cb4ccb1f0
interfaces: fix ABI class padding after the recent changes
2012-02-24 21:37:00 +01:00
Wim Taymans
525f330142
update for metadata changes
2012-02-24 10:26:04 +01:00
Wim Taymans
06ccd80811
video: fix docs
2012-02-23 16:55:11 +01:00
Wim Taymans
e32e8f6c52
video: Improve video frame map/unmap
...
Install defaul map/unmap function on the metadata and really call the functions
instead of always calling a default implementation.
Rework some bits so that we don't have to mess with the GstMapInfo information
(adding the offset), instead pass the adjusted data pointer from the map function.
2012-02-23 16:50:28 +01:00
Wim Taymans
f552d8f0c0
videopool: fix docs
2012-02-23 16:16:37 +01:00
Tim-Philipp Müller
6cd3faaa65
riff: fix compilation on big-endian
...
Update to new gst_buffer_map() API
2012-02-22 21:22:06 +00:00
Wim Taymans
18e45a8a5f
videofilter: improve propose_allocation
...
When we are in passthrough, call the parent implementation. Otherwise we have to
suggest allocation parameters ourselves.
2012-02-22 15:27:59 +01:00
Sebastian Dröge
dd2aca8753
mixer: Add ::get_mixer_type() vfunc and deprecate interface struct value
2012-02-22 10:23:26 +01:00
Sebastian Dröge
16c3946440
colorbalance: Add ::get_balance_type() vfunc and deprecated value inside the interface struct
...
Values in class/interface structs are not supported by most bindings.
2012-02-22 10:23:26 +01:00
Sebastian Dröge
17b8299df1
navigation: Fix copy&paste error in documentation
2012-02-22 10:23:26 +01:00
Wim Taymans
63f3f27164
update for new memory api
2012-02-22 02:05:24 +01:00
Vincent Untz
5c3f7b51ce
tag: xmp: Fix a build warning when compiling with asserts disabled
...
Return a value even if the code will never be reached, to make compilers
happy.
https://bugzilla.gnome.org/show_bug.cgi?id=670548
2012-02-21 16:07:04 +00:00
Wim Taymans
d2ea46cdbf
Merge branch 'master' into 0.11
...
Conflicts:
tests/examples/seek/seek.c
2012-02-21 10:01:30 +01:00
Wim Taymans
26f63027a6
rtsp: fix connection
2012-02-20 17:44:59 +01:00
David Schleef
0b3f956277
riff: Add v210, r210 formats
2012-02-18 17:38:05 -08:00
Wim Taymans
268d52fd33
Merge branch 'master' into 0.11
...
Conflicts:
gst-libs/gst/rtsp/gstrtspconnection.c
win32/common/libgstaudio.def
2012-02-17 23:46:17 +01:00
Tim-Philipp Müller
0f6c8a27a7
docs: add new audio base class API to docs and .def file
2012-02-17 15:08:36 +00:00
Ognyan Tonchev
f6e07b65a4
rtspconnection: only send new data immediately if there are no queued messages
...
Even if watch->messages->length is 0 there may still be some
data from a message that was only written partially at the
previous attempt stored in watch->write_data, so check for
that as well. We don't want to write data into the middle
of another message, which could happen when there wasn't
enough bandwidth.
https://bugzilla.gnome.org/show_bug.cgi?id=669039
2012-02-17 14:40:35 +00:00
Wim Taymans
e44dd9db8f
Merge branch 'master' into 0.11
...
Conflicts:
gst-libs/gst/audio/gstaudioencoder.c
gst-libs/gst/pbutils/gstdiscoverer.c
2012-02-16 14:23:28 +01:00
Mark Nauwelaerts
439884d628
audiodecoder: add some properties to tweak baseclass behaviour
...
... so subclass can also rely upon never being bothered with some NULL buffer
it can't do any interesting with, or with any data before it received
any format configuration (and setup properly).
2012-02-16 12:35:53 +01:00
Mark Nauwelaerts
5b4dc02523
audioencoder: add some properties to tweak baseclass behaviour
...
... so subclass can also rely upon never being bothered with less data
than it desires or with some NULL buffer it can't do any interesting with.
2012-02-16 12:35:51 +01:00
Mark Nauwelaerts
95306e8fef
audiodecoder: assert some more that subclass parsed frame has proper len
2012-02-16 12:35:40 +01:00
Wim Taymans
c7d0fb556f
audiodecoder: chain up to parent for defaults
...
Chain up to the parent instead of using the FALSE return value from
the event function (because it's otherwise impossible to return an error).
2012-02-15 13:42:19 +01:00
Wim Taymans
b2fbb2e587
audiodecoder: call default event handler
...
Call the default event handler for unknown events.
2012-02-15 13:03:59 +01:00
Wim Taymans
fbf0b4b6cc
tagdemux: refactor the tag find function
...
Move the code to find the tags and to typefind the data into a separate
function. Call this function from the loop function.
2012-02-15 12:29:12 +01:00
Wim Taymans
8dd93b897f
tagdemux: don't to data processing in state change
...
Start a task to perform the pulling and typefind of the tags.
2012-02-15 10:12:55 +01:00
Tim-Philipp Müller
e40ea30972
discoverer: try harder to obtain a duration if we don't get one right away
...
If we don't get a duration right away, set the pipeline to playing
and sleep a bit, then try again. This is ugly, but the least worst
we can do right now. The alternative would be to make parsers etc.
return some bogus duration estimate even after only having pushed
a single frame, for example.
Fixes discoverer showing 0 durations for some mp3 and aac files
(e.g. soweto-adts.aac).
2012-02-14 19:36:43 +00:00
Wim Taymans
ee2c699016
tagdemux: fix src query handler
...
We don't want to blindly forward all queries.
2012-02-14 13:25:25 +01:00
Wim Taymans
6c51a80f6f
videometa: adjust for memory api change
2012-02-13 18:12:01 +01:00
Tim-Philipp Müller
06ea77710a
tag: make GstTagMux base class a bit more functional
...
We can't use G_DEFINE_*TYPE here because we need the klass in the _init
method to get to the padtemplates. Fixes 'GstTagDemux subclass GstTagDemux
did not set up a {sink,src} pad template' warnings.
2012-02-12 16:54:56 +00:00
Wim Taymans
e615e4c2cf
video: add performance log for frame copy
2012-02-09 16:03:35 +01:00
Wim Taymans
f31d5d7505
debug: add some performance debug
2012-02-09 15:28:54 +01:00
Wim Taymans
a75e9102c5
GST_FLOW_WRONG_STATE -> GST_FLOW_FLUSHING
2012-02-08 15:17:49 +01:00
Tim-Philipp Müller
bd4bf43171
rtsp: make g-ir-scanner include Gio-2.0 to suppress complaints about GSocket etc.
2012-02-07 23:42:48 +00:00
Mark Nauwelaerts
97d60612a4
audiodecoder: remove stray obsolete declaration
2012-02-06 22:10:28 +01:00
Mark Nauwelaerts
2bf1a4428e
audio: correctly fill in fallback channel positions in stereo case
2012-02-06 22:10:28 +01:00
Wim Taymans
bfa00d0996
video: mark endianness correctly
2012-02-06 18:33:59 +01:00
Wim Taymans
774f80d49c
tagdemux: push event in the right direction
...
Push the stored events in the right direction
2012-02-06 15:54:34 +01:00
Tim-Philipp Müller
8c9639d1e3
tag: fix up define that tells code where to find the license translations too
...
Tell code about new location of translation dict.
2012-02-06 13:49:12 +00:00
Wim Taymans
6c08f53416
audiofilter: configure info after calling vmethod
...
First call the vmethod and then configure the audioinfo in the baseclass. This
allows subclasses to know about the old format.
2012-02-06 13:23:26 +01:00
Wim Taymans
0c5755730b
videofilter: take care of in_place transform
...
If the subclass doesn't implement a transform_frame function we need to force
the baseclass into in_place transform.
2012-02-06 13:23:25 +01:00
Sebastian Dröge
e4501ce1be
tag: Install license translations into $(pkgdatadir)/0.11
...
This prevents file conflicts with GStreamer 0.10.
2012-02-06 11:45:16 +01:00
Mark Nauwelaerts
fa63d7181d
video: add GST_VIDEO_INFO_COMP_BITS
2012-02-06 10:52:01 +01:00
Sebastian Dröge
103c59af24
video: Add GST_VIDEO_INFO_COMP_WIDTH
2012-02-06 09:53:22 +01:00
Wim Taymans
fe3e9b90dd
audioencoder: don't unref caps parameter
...
Fix refcounting on incomming caps to make sure we don't unref it too much.
2012-02-03 09:51:00 +01:00
Tim-Philipp Müller
24749aa2db
discoverer: mark GError argument of "discovered" signal with STATIC_SCOPE
...
So the error is passed to the callback as is without a copy being made.
2012-02-01 19:34:22 +00:00
Sebastian Dröge
1cb4029d00
audioencoder: gst_pad_get_pad_template_caps() now returns a new reference, don't forget to unref
2012-02-01 16:33:30 +01:00
Sebastian Dröge
5aa6748151
audio{enc,dec}oder: Check if srcpad caps are a subset of the template caps
2012-02-01 16:32:53 +01:00
Sebastian Dröge
0370b0dc12
audioencoder: Add gst_audio_encoder_set_output_format() function for consistency
2012-02-01 16:27:47 +01:00
Sebastian Dröge
dbd43c7dd3
audiodecoder: Rename set_outcaps() to set_output_format() and take a GstAudioInfo as parameter
2012-02-01 16:27:47 +01:00
George Kiagiadakis
1251fb3fc0
video: Use host endianness when generating caps for 16-bit rgb formats
...
This is necessary in order to match what the caps strings in
video.h contain for 16-bit rgb formats and also to match how
gst_video_format_parse_caps expects them.
https://bugzilla.gnome.org/show_bug.cgi?id=667681
2012-01-30 15:56:44 +00:00
Wim Taymans
fa400c372b
videopool: update for allocator api update
2012-01-30 13:10:40 +01:00
Olivier Crête
e391118125
Use macros to register boxed types thread safely
2012-01-28 14:53:21 +00:00
Olivier Crête
cb044668d3
rtcpbuffer: Set the map.size to the current size of the RTCP packet
...
maxsize is the maximum size
2012-01-27 19:01:55 +01:00
Olivier Crête
b993b8457d
rtpcbuffer: To write inside a RTCP buffer, you must be able to read
...
So always require read
2012-01-27 19:01:55 +01:00
Olivier Crête
6b559a50fb
rtcpbuffer: Return errors if the map mode doesn't match the actions
2012-01-27 19:01:55 +01:00
Olivier Crête
ab359d36d5
rtcpbuffer: Don't try to modify read-only buffers
2012-01-27 19:01:55 +01:00
Wim Taymans
30af2fe7d6
audiosrc: wait on the right cond variable
...
This broke with a merge commit
2012-01-27 18:27:26 +01:00
Wim Taymans
e2c50fbf0c
tagdemux: use default event handler for delayed events
2012-01-26 19:48:59 +01:00
Wim Taymans
e7575bc525
rtp: improve structures
...
Remove flags that is in the mapinfo now
2012-01-25 12:30:53 +01:00
Wim Taymans
fcdc385aa1
port to new map API
2012-01-25 12:30:53 +01:00
Olivier Crête
1a592199e9
rtpbasepayload: Port to group-less GstBufferList
2012-01-25 11:55:02 +01:00
Sebastian Dröge
68c0790817
Merge branch 'master' into 0.11
...
Conflicts:
gst-libs/gst/interfaces/propertyprobe.c
sys/xvimage/xvimagesink.c
2012-01-25 11:50:54 +01:00
David Schleef
bd900a6c85
propertyprobe: fix documentation
2012-01-23 09:29:45 -08:00
Tim-Philipp Müller
ef75dd6e90
discoverer: use G_TYPE_ERROR instead of GST_TYPE_G_ERROR
2012-01-22 01:47:14 +00:00
Mark Nauwelaerts
2d3b3395cc
tag: exif: add missing break
2012-01-19 16:43:27 +01:00
Wim Taymans
d9ef75b799
rtcp: handle size update correctly
...
Do explicit resize to set the size of a buffer instead of setting a value in
unmap.
2012-01-19 15:20:01 +01:00
Wim Taymans
5be917d5bd
appsrc: handle NULL caps correctly
2012-01-19 15:18:58 +01:00
Wim Taymans
5872bcc33a
Update for memory API changes
2012-01-19 12:15:18 +01:00
Wim Taymans
3d42f0f6ed
port to new glib thread API
2012-01-19 11:36:17 +01:00
Tim-Philipp Müller
576bbb4fd8
Remove compatibility code cruft for old GLib versions
2012-01-18 17:22:21 +00:00
Mark Nauwelaerts
3e312e6e16
baseaudiosink: commit correct number of samples when not syncing
2012-01-17 21:46:58 +01:00
Sebastian Dröge
aed2666b53
rtsp: Port to GIO
2012-01-17 16:38:45 +01:00
Sebastian Dröge
cfa7083e94
sdp: Port to GIO for multicast address detection
2012-01-17 13:27:05 +01:00
Mark Nauwelaerts
974c678ec8
audiodecoder: register state change function
2012-01-17 11:53:51 +01:00
Matej Knopp
5c91ca3256
videopool: fix printf warning in debug message
...
https://bugzilla.gnome.org/show_bug.cgi?id=662607
2012-01-15 13:58:24 +00:00
Tim-Philipp Müller
e96aaec6bb
GST_TYPE_DATE -> G_TYPE_DATE
2012-01-12 23:35:44 +00:00
Tim-Philipp Müller
68785cc2e7
discoverer: fix up for GstTagList != GstStructure
2012-01-12 23:25:22 +00:00
Tim-Philipp Müller
0461ed2ada
Merge remote-tracking branch 'origin/master' into 0.11
...
Conflicts:
gst-libs/gst/pbutils/gstdiscoverer-types.c
gst-libs/gst/pbutils/gstdiscoverer.c
tests/check/Makefile.am
2012-01-12 23:21:17 +00:00
Vincent Penquerc'h
ab7e72ad70
discoverer: fix structure leak
...
I hit the 'misc' one, but let's also make sure the topology
one get freed as well, though I do not know if this can happen
twice.
2012-01-12 14:27:25 +00:00
Reynaldo H. Verdejo Pinochet
1a8ee4536c
Add missing DEFAULT_INCLUDES on androgenizer call
...
Fix building of the libgstvideo module on Android by adding the
missing and needed $(DEFAULT_INCLUDES) to CFLAGS for the
androgenizer call on gst-libs/gst/video/Makefile.am
Before this change, building was failing due to gst-plugins-base/
and gst-plugins-base/gst-libs/gst/video being left out of the
include path.
2012-01-11 21:04:40 -03:00
Vincent Penquerc'h
426f991b52
discoverer: fix leaks caused by some base class dtors not being called
2012-01-11 12:52:17 +00:00
Vincent Penquerc'h
96e40584ce
discoverer: fix caps and discoverer object ref leaks
2012-01-11 12:16:28 +00:00
Vincent Penquerc'h
9ab18d7a68
discoverer: add a few consts where appropriate
2012-01-11 11:55:59 +00:00
Vincent Penquerc'h
7ad6431837
discoverer: fix pad leak
2012-01-11 11:55:36 +00:00
Sebastian Dröge
de19cfdd8a
audio: More UNPOSITION flag sanity checks
...
..and turn the GST_WARNING() into a g_warning(). This is a programming
error and should be fixed.
2012-01-11 10:49:49 +01:00
Sebastian Dröge
a03f70e3cd
audio: Add validity check for the UNPOSITIONED audio flag
...
Also reset the flag when parsing caps.
2012-01-11 10:44:37 +01:00
Tim-Philipp Müller
b155e094ed
discoverer: use GST_TYPE_TAG_LIST for tag lists
...
They may not be structures in 0.11/1.0.
2012-01-10 18:29:22 +00:00
Tim-Philipp Müller
5f20af6ce5
discoverer: fix potential tag list leaks
...
Not that I have ever seen these in practice, but if they
can't happen we may just as well just assign the new tag
list. Merge properly to be on the safe side, and also
avoid a useless tag list copy in the normal case where
there is no tag list yet.
2012-01-10 18:29:21 +00:00
Tim-Philipp Müller
b794f78d26
discoverer: fix potential caps leak
...
in last else chunk.
2012-01-10 18:29:21 +00:00
Sebastian Dröge
dc8984d76c
Merge branch 'master' into 0.11
...
Conflicts:
gst-libs/gst/app/gstappsrc.c
gst-libs/gst/audio/multichannel.h
gst-libs/gst/video/videooverlay.c
gst/playback/gstplaysink.c
gst/playback/gststreamsynchronizer.c
tests/check/Makefile.am
win32/common/libgstvideo.def
2012-01-10 13:15:12 +01:00
Sebastian Dröge
05beab5382
audiometa: Improve GstAudioDownmixMeta to be actually usable
...
This now has a two-dimensional array of coefficients
as required and also stores the source and destination
channel positions.
2012-01-10 12:46:05 +01:00
Sebastian Dröge
67c8b0dfbd
audio: Don't crash if NULL positions are passed to gst_audio_info_set_format()
2012-01-10 12:02:56 +01:00
Sebastian Dröge
5cb3d75dbf
audiobasesink: Fix infinite recursion by chaining up to the correct parent class vfunc
2012-01-09 14:19:54 +01:00
Sebastian Dröge
bb3eb93ee9
audio: Don't check for channel positions in valid order when converting to a channel mask
2012-01-09 08:24:23 +01:00
Tim-Philipp Müller
9f042ae224
rtspconnection: make hostname lookup more thread-safe
...
Don't write IP number string to return into a static
array which is shared amongst all threads (note: of
course a copy is returned).
https://bugzilla.gnome.org/show_bug.cgi?id=666711
2012-01-07 20:16:41 +00:00
Tim-Philipp Müller
1031fedaf0
discoverer: make is_subtitle_caps thread-safe
2012-01-07 19:39:42 +00:00
Edward Hervey
82da418201
audio: Fix size check
...
We fail (and return) if the size is *NOT* a multiple of samples.
2012-01-06 15:14:59 +01:00
Vincent Penquerc'h
5cf87eedc4
video: overlays may now have premultiplied alpha
...
https://bugzilla.gnome.org/show_bug.cgi?id=666177
2012-01-06 10:19:19 +00:00
Havard Graff
95be60de15
Fix various unlikely, but still potential memoryleaks in error code paths
...
https://bugzilla.gnome.org/show_bug.cgi?id=667311
2012-01-05 13:27:23 +00:00
Havard Graff
b11d516c46
appsrc: implement get_caps vfunc
...
This allows downstream elements to query what caps are available.
https://bugzilla.gnome.org/show_bug.cgi?id=667312
2012-01-05 13:12:33 +00:00
Wim Taymans
dd43d0697e
audio: expose API to convert channel array to a mask
2012-01-05 13:59:32 +01:00
Wim Taymans
1317811af6
riff: don't use NULL arrays
2012-01-05 12:31:51 +01:00
Pascal Buhler
0febae7443
rtcpbuffer: prevent overflow of 16bit header length.
...
RTCP header can be (2^16 + 1) * 4 bytes long, so when validating a bogus
packet it was possible to get a 16bit overflow resulting in a length of 0.
This would put the gst_rtcp_buffer_validate_data function in a endless loop.
https://bugzilla.gnome.org/show_bug.cgi?id=667313
2012-01-05 11:12:25 +00:00
Sebastian Dröge
9e072ea844
audio: Improve/fix handling of NONE layouts
2012-01-05 10:34:25 +01:00
Sebastian Dröge
8dcea5d498
audio: Add support again for more than 64 channels with NONE layouts
2012-01-05 10:34:25 +01:00
Sebastian Dröge
31c9f7d09a
audio: Fix GST_AUDIO_CHANNEL_POSITION_MASK macro
2012-01-05 10:34:25 +01:00
Sebastian Dröge
c52b50a517
riff: Return a channel reorder map for raw audio when creating the caps
2012-01-05 10:34:25 +01:00
Sebastian Dröge
7cd0659032
riff: Add the layout field to the raw audio caps
2012-01-05 10:34:24 +01:00
Sebastian Dröge
9d56bf7712
audioencoder: Proxy the channel mask field instead of the old channel-layout field
2012-01-05 10:34:24 +01:00
Sebastian Dröge
8fe5dc53e0
audiocdsrc: Add the layout field to the caps
2012-01-05 10:34:24 +01:00
Sebastian Dröge
810bfec656
audio: Add "layout" field to the raw audio caps
...
This can be used to differentiate between interleaved
and non-interleaved audio and whatever comes in the future.
2012-01-05 10:34:24 +01:00
Sebastian Dröge
e2c6b8ec4d
audio: Add function to reorder channel positions from any order to the GStreamer order
2012-01-05 10:34:24 +01:00
Sebastian Dröge
bd40936409
audioringbuffer: Use new function to get a channel reordering map
2012-01-05 10:34:24 +01:00
Sebastian Dröge
9e930a1ade
audio: Add documentation for the new functions
2012-01-05 10:34:24 +01:00
Sebastian Dröge
c9c12372a5
audio: Add public functions to check channel positions validity and to get a reorder map
2012-01-05 10:34:24 +01:00
Sebastian Dröge
ee80a97a2a
riff: Port to the new multichannel caps
2012-01-05 10:34:24 +01:00
Sebastian Dröge
225238a913
audioringbuffer: Add support for reordering of channels
2012-01-05 10:34:16 +01:00
Sebastian Dröge
c227f5e77e
audio: Add new channel positions and simplify channel expression in the caps
...
The available channel positions are all channels from SMPTE 2036-2-2008
(in that order) and DTS Coherent Acoustics, which are basically all 28
channels that currently can appear.
The channels are now expressed in the caps as a channel-mask, which
describes which of the channels are present, and an optional
channel-reorder-map, which must only be used after negotiation for
fixated caps.
For negotiation only the channel-mask and the channel count is relevant
and all elements are expected to handle all reorder maps. Elements that
don't can use the new API to reorder an audio buffer from any order to
another order.
This simplifies negotiation a lot while still having as few reorderings
necassary as possible and still allow all kinds of channel layouts.
2012-01-05 10:27:21 +01:00
Philip Flarsheim
08af765ea2
docs: add win32 code snippets to GstXOverlay Gtk+ example
2012-01-05 01:54:29 +00:00
Wim Taymans
21ed12739e
video: add macro to check interlaced
...
Add a convenience macro to check if the video is interlaced.
2012-01-03 10:41:51 +01:00