Commit graph

3245 commits

Author SHA1 Message Date
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