Commit graph

2983 commits

Author SHA1 Message Date
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
Wim Taymans
2f3cf3a7ee videofilter: use caps of the allocation query
Use the caps from the allocation query to propose a video bufferpool instead of
our own negotiated caps.
2012-01-02 16:13:51 +01:00
Wim Taymans
e9eaf17eae audioencoder: turn assert into a real error
Post a real error instead of just asserting. Fixes a unit test.
2012-01-02 15:42:39 +01:00
Tim-Philipp Müller
26e612aeda playback, mixerutils: gst_registry_get_default() -> gst_registry_get() 2012-01-02 14:32:11 +00:00
Wim Taymans
ed6fd4eb2f audio: add flag for unpositioned layout
Check if thr layout is explicitly unpositioned and set a flag in the
audio info structure.
2012-01-02 15:01:58 +01:00
Wim Taymans
21bf4f04f3 video: fix some video formats
Rename the offset field in GstVideoFormatInfo to poffset to avoid confusion with
the offset of the plane in the buffer. The poffset is the offset in the plane
where the first byte of the component data can be found.
Properly implement the COMP_OFFSET calculations.
Fix YV12 and YVU9, simply use the same offsets as the regular I420 and YUV9
variants, we use the plane info to reorder components already.
Improve the unit test.
2012-01-02 13:30:53 +01:00
Tim-Philipp Müller
76cc8b8f2a tag: add function to check whether a string is a valid language code
API: gst_tag_check_language_code()
2012-01-02 01:04:00 +00:00
Tim-Philipp Müller
c3e6e23b85 audio, rtsp: remove private/protected gtk-doc markup for enums
This confuses glib-mkenums, and is not really useful anyway.

https://bugzilla.gnome.org/show_bug.cgi?id=666618
2012-01-02 00:19:57 +00:00
Tim-Philipp Müller
942fec2031 video: add some padding to GstVideoFilter 2011-12-30 19:27:16 +00:00
Tim-Philipp Müller
d877ef13f5 docs: make gtk-doc happier 2011-12-30 19:24:09 +00:00
Tim-Philipp Müller
62e5a67376 audiocdsrc: remove some probing-related vfuncs
GstPropertyProbe was removed, so these aren't actually used
and we probably want something different for the new API.
2011-12-30 16:26:47 +00:00
Tim-Philipp Müller
6a85353a92 audiocdsrc: update for GstIndex removal 2011-12-30 16:18:39 +00:00
Tim-Philipp Müller
31890ef59b audiocdsrc: make private bits private 2011-12-30 16:12:30 +00:00
Edward Hervey
f562a29284 Merge remote-tracking branch 'origin/master' into 0.11
Conflicts:
	ext/theora/gsttheoraenc.c
	gst-libs/gst/tag/gstexiftag.c
	gst/adder/gstadder.c
	gst/adder/gstadder.h
	gst/playback/gstdecodebin2.c
	gst/playback/gstsubtitleoverlay.c
	tests/check/libs/tag.c
2011-12-30 13:21:35 +01:00
Edward Hervey
5f7e15fd6c pbutils/descriptions: Handle "video/x-raw" without specified format
Without having it raise an assertion, which is valid when asking for
the description of the format.
2011-12-28 16:34:56 +01:00
Wim Taymans
8d93f8edb3 videopool: add support for custom allocators 2011-12-28 15:35:52 +01:00
Tim-Philipp Müller
3dfdd6be9d audioringbuffer: rename GST_BUFTYPE_* to GST_AUDIO_RING_BUFFER_FORMAT_TYPE_*
Bit unwieldy, but more appropriate. Could also be moved into
audio.h as GstAudioFormatType.
2011-12-25 21:38:21 +00:00
Tim-Philipp Müller
80095caa40 audioringbuffer: remove unused GstAudioRingBufferSegState enum and field 2011-12-25 21:23:11 +00:00
Tim-Philipp Müller
dfa23662e1 tag: fix writing of Exif tag payloads <= 4 bytes
When the payload for an Exif tag is less than or equal to 4 bytes,
the data is simply put into the offset field. Fix writing these
kinds of payloads on big endian systems (and possibly also on
little endian systems). The caller will have already formatted
the bytes in memory according to the writer's endianness, so just
write out the bytes as they are in this case. Fixes tags unit test
on big endian systems.
2011-12-23 22:24:44 +00:00
Mark Nauwelaerts
e3c78ff661 audioencoder: add a few more debug statements 2011-12-22 16:58:37 +01:00
Mark Nauwelaerts
9bfa65b7d3 audiodecoder: tweak documentation 2011-12-22 16:58:34 +01:00
Thiago Santos
77353dad21 tag: xmp: Keep compatibility with our old generated xmp
We used to add a trailing \n to the end of generated xmp packets.
Windows viewer was unhappy with it and we fixed it in
96d2120c2b

The problem is that this caused xmp generated before this fix
to not be recognized and parsed anymore. This patch makes it
recognize xmp with the trailing \n and without, fixing the
regression. Also adds tests for it.
2011-12-22 08:12:28 -03:00
Wim Taymans
a5f3d21723 videofilter: improve video filter
Flesh out the video filter base class. Make it parse the input and output caps
and turn them into GstVideoInfo. Map buffers as video frames and pass them to
the transform functions.
This allows us to also implement the propose and decide_allocation vmethods.
Implement the transform size method as well.
Update subclasses with the new improvements.
2011-12-21 23:46:53 +01:00
Wim Taymans
f50573fd66 videopool: add videopool implementation
Add a GstVideoPool object that can be used to allocate video frames with support
for metadata and alignment.
Add method to reset alignment info.
2011-12-21 18:13:17 +01:00
Wim Taymans
ddc05e0ed1 propertyprobe: remove propertyprobe
Remove the propertyprobe interface
Improve docs
2011-12-21 11:58:53 +01:00
Vincent Penquerc'h
ceeff69bc1 gstvideo: fix a RGB ordering mixup in colorspace conversion code 2011-12-20 19:55:53 +00:00
Sebastian Dröge
2760dd2068 audiobasesrc: Use guint8 instead of guchar 2011-12-20 14:36:28 +01:00
Sebastian Dröge
338622fe7e audioringbuffer: Use guint8 instead of guchar 2011-12-20 14:36:28 +01:00
Mark Nauwelaerts
c41f3cbef0 audiodecoder: set a non-zero default maximum tolerated errors
Whereas the previous default 0 was backwards compatible in that it lead
to erroring out immediately upon any error, elements that are really
ported and using the base class error macro can be assumed to intend to
improve behaviour rather than maintaining the old one.  So, make it easy
on those and any future one and tolerate some errors by default, as intended.

Fixes #666579.
2011-12-20 12:50:18 +01:00
Wim Taymans
7505b7a55c add audio metadata
Add some audio metadata to describe a downmix matrix.
Add metadata to media type document.
2011-12-20 12:02:25 +01:00
Wim Taymans
6241ff63f8 video: update interlace caps and docs
Remove interlaced boolean from caps and replace with an interlace-mode enum.
document this new property in the video caps document. With the enum we can
put fields into separate video meta.
Add enum for this interlace-mode in the VideoInfo.
Update the buffer flags.
2011-12-19 18:03:45 +01:00
Wim Taymans
81d351b5f0 tagdemux: add FIXME
Add a FIXME because the EOS before-type case now has to be solved differently
because the srcpad is always available.
2011-12-19 11:03:55 +01:00
Thiago Santos
d798cc1b8d tag: exif: do not include \0 in size passed to g_convert
When using g_convert, we should only pass the length
of the string content (without the \0) as g_convert will
only parse the real contents when changing formats. Including
the \0 causes it to add another \0, increasing the string
size when not needed.

For example, when writting a North geo location ref entry, that should
be a string with a single N letter, it would write:
"N\0\0", causing the string to have size 3, instead of 2 as expected.

In our case, we can pass -1 and let g_convert calculate the strlen as
we don't use the length anywhere else.

This fixes jifmux's tests on gst-plugins-bad.
2011-12-15 12:08:51 -03:00
Christian Fredrik Kalager Schaller
0d552ae53d Fix 666168, add missing allow-None to encodebin APIs 2011-12-14 17:34:55 +00:00
Tim-Philipp Müller
d5ae24fe91 encoding-profile: add some missing allow-none g-i annotations
Fix gst_encoding_container_profile_new() annotations.

https://bugzilla.gnome.org/show_bug.cgi?id=666096
2011-12-14 12:28:26 +00:00
Stefan Sauer
d0a5cb8c01 riff-media: port GST_BUFFER_DATA to 0.11 in conditional code branch 2011-12-14 11:31:31 +01:00
Vincent Penquerc'h
12be1e6fc5 baseaudiosink: fix late buffer leak 2011-12-13 12:55:45 +00:00
Sebastian Dröge
739de5fbf9 glib-compat: Add license boilerplate for LGPL 2011-12-13 00:03:28 +00:00
Wim Taymans
59d5ad42b0 rtsp: use rtpbin 2011-12-09 19:22:21 +01:00
Wim Taymans
6be9a67148 rtp: add INIT macros 2011-12-09 19:22:21 +01:00
Tim-Philipp Müller
54c5cd8c3f rtpbuffer: add GST_RTP_BUFFER_INIT to initialize RTP buffers on the stack
Fixes build of -good.
2011-12-09 15:03:41 +00:00
Tim-Philipp Müller
fb6d09055a Merge remote-tracking branch 'origin/master' into 0.11
Conflicts:
	ext/alsa/gstalsadeviceprobe.c
	ext/alsa/gstalsamixer.c
	ext/pango/gsttextoverlay.c
	ext/pango/gsttextoverlay.h
	gst-libs/gst/audio/gstaudiobasesink.c
	gst-libs/gst/audio/gstaudioringbuffer.c
	gst-libs/gst/audio/gstaudiosrc.c
	gst-libs/gst/video/Makefile.am
	gst-libs/gst/video/video.c
	gst/encoding/gststreamcombiner.c
	gst/encoding/gststreamsplitter.c
	gst/playback/gstplaybasebin.c
	gst/playback/gststreamsynchronizer.c
	gst/playback/gstsubtitleoverlay.c
	gst/playback/gsturidecodebin.c
	sys/xvimage/xvimagesink.c
	tests/examples/Makefile.am
	win32/common/libgstvideo.def

Video overlay composition disabled for now, needs
porting to buffer meta.
2011-12-08 01:19:03 +00:00
Tim-Philipp Müller
91bbfbd819 video: make composition_blend() return a boolean
Not that anyone will ever check that, and it's not clear what
they're supposed to do if it fails, but at least it's there.
2011-12-07 18:45:28 +00:00
Tim-Philipp Müller
6757afc0bc docs: add new API to docs 2011-12-07 18:38:06 +00:00
Tim-Philipp Müller
5037b39883 video: add seqnum getters for overlay compositions and rectangles
API: gst_video_overlay_composition_get_seqnum()
API: gst_video_overlay_rectangle_get_seqnum()
2011-12-07 17:57:08 +00:00
Thibault Saunier
39c5015ed0 video: support any type of video in _parse_caps
Slight change in semantics for convenience. Shouldn't cause any
problems since this function is usually only used on pre-filtered
caps and not random caps, and it's hard to imagine a situation
where someone would want to rely on the previous behaviour.
2011-12-07 15:51:14 +00:00
Tim-Philipp Müller
61d0ab1faa video: fix leak in gst_video_format_new_template_caps()
g_value_reset() is not the same as g_value_unset()
2011-12-06 14:55:54 +00:00
Wim Taymans
f096b8a8d8 ringbuffer: remove old _full version 2011-12-06 15:06:12 +01:00
Wim Taymans
9e97260c9f fix for basesrc changes 2011-12-06 13:59:11 +01:00
Edward Hervey
ea0ed511f8 rtp: Initialize GstRTPBuffer before usage 2011-12-05 18:42:24 +01:00
Edward Hervey
94230af7a3 rtp: Don't forget to initialize GstRTPBuffer 2011-12-05 18:30:37 +01:00
Tim-Philipp Müller
7d20a7bdb9 video: don't use deprecated GStaticMutex with newer glib versions 2011-12-05 15:48:07 +00:00
Tim-Philipp Müller
6630236af4 video: add video overlay composition API for subtitles
Basic API to attach overlay rectangles to buffers,
or blend them directly onto raw video buffers.

To be used primarily for things like subtitles or
logo overlays, not meant to replace videomixer.

Allows us to associate subtitle overlays with
non-raw video surface buffers, so that subtitles
are not lost and can instead be rendered later
when those surfaces are displayed or converted,
whilst re-using all the existing overlay plugins
and not having to teach them about our special
video surfaces. Could also have been made part
of the surface buffer abstraction of course, but
a secondary goal was to consolidate the blending
code for raw video into libgstvideo, and this
kind of API allows us to do both in a way that's
minimally invasive to existing elements, and at
the same time is fairly intuitive.

More features and extensions like the ability to
pass the source data or text/markup directly will
be added later.

https://bugzilla.gnome.org/show_bug.cgi?id=665080

API: gst_video_buffer_get_overlay_composition()
API: gst_video_buffer_set_overlay_composition()

API: gst_video_overlay_composition_new()
API: gst_video_overlay_composition_add_rectangle()
API: gst_video_overlay_composition_n_rectangles()
API: gst_video_overlay_composition_get_rectangle()
API: gst_video_overlay_composition_make_writable()
API: gst_video_overlay_composition_copy()
API: gst_video_overlay_composition_ref()
API: gst_video_overlay_composition_unref()

API: gst_video_overlay_composition_blend()

API: gst_video_overlay_rectangle_new_argb()
API: gst_video_overlay_rectangle_get_pixels_argb()
API: gst_video_overlay_rectangle_get_pixels_unscaled_argb()
API: gst_video_overlay_rectangle_get_render_rectangle()
API: gst_video_overlay_rectangle_set_render_rectangle()
API: gst_video_overlay_rectangle_copy()
API: gst_video_overlay_rectangle_ref()
API: gst_video_overlay_rectangle_unref()
2011-12-05 15:37:02 +00:00
Tim-Philipp Müller
a7a3f969b3 video: hide private video-blend.[ch] from gobject-introspection
And remove unused fields from helper structure.
2011-12-05 15:37:02 +00:00
Tim-Philipp Müller
b0ff1d22e9 video: add fallbacks for compilation without orc 2011-12-05 15:36:56 +00:00
Thibault Saunier
80054a3b1e video: add some internal helper functions for image blending
This could be improved if we decide we don't need it to
be this generic/flexible.
2011-12-05 15:03:47 +00:00
Sebastian Dröge
b0f4085f22 xoverlay: Fix mistakes in the sample code
Fixes bug #665430.
2011-12-05 09:39:08 +01:00
Matej Knopp
f89d7ee7eb Appsink fixes 2011-12-05 09:34:50 +01:00
Tim-Philipp Müller
5440ae3c18 Suppress deprecation warnings in selected files, for g_static_rec_mutex_* mostly
GStaticRecMutex is part of our API/ABI, not much we can do here
in 0.10 for most of these.
2011-12-04 20:50:25 +00:00
Tim-Philipp Müller
0d98aa25b8 Work around deprecated thread API in glib master
Add private replacements for deprecated functions such as
g_mutex_new(), g_mutex_free(), g_cond_new() etc., mostly
to avoid the deprecation warnings. We'll change these
over to the new API once we depend on glib >= 2.32.

Replace g_thread_create() with g_thread_try_new().
2011-12-04 17:16:30 +00:00
Tim-Philipp Müller
6098442bd0 xmpwriter: update for thread API deprecations in glib master 2011-12-04 15:23:21 +00:00
Wim Taymans
1225aa9a78 update for basesink event handler changes 2011-12-02 22:24:43 +01:00
Tim-Philipp Müller
177525f89f Merge remote-tracking branch 'origin/master' into 0.11
Conflicts:
	gst-libs/gst/netbuffer/gstnetbuffer.c
	gst/ffmpegcolorspace/avcodec.h
	gst/ffmpegcolorspace/gstffmpegcodecmap.c
	gst/ffmpegcolorspace/imgconvert.c
	gst/ffmpegcolorspace/imgconvert_template.h
	gst/ffmpegcolorspace/mem.c
	gst/playback/README
	gst/playback/gstplaybasebin.c
	gst/playback/gstplaybasebin.h
	gst/playback/gstplaybin.c
	sys/v4l/v4lmjpegsrc_calls.c
	sys/v4l/videodev_mjpeg.h
	tests/check/elements/gnomevfssink.c
2011-12-02 11:10:17 +00:00
Piotr Fusik
14644457b0 various: typo fixes
Fix typos in code and docs. Fixes. #658984
2011-12-02 12:03:27 +01:00
Tim-Philipp Müller
ec0d3566bf Merge remote-tracking branch 'origin/master' into 0.11
Conflicts:
	ext/alsa/gstalsasrc.c
	ext/alsa/gstalsasrc.h
	gst/adder/gstadder.c
	gst/playback/gstplaybin2.c
	gst/playback/gstplaysinkconvertbin.c
	win32/common/libgstvideo.def
2011-12-02 00:07:39 +00:00
Wim Taymans
3deaa582d9 tags: make the tag functions return GstSample
gst_tag_image_data_to_image_buffer() ->
   gst_tag_image_data_to_image_sample() And make it return a GstSample.
Store the image-type into the extra sample info.
Remove a deprecated tag
2011-12-01 18:51:51 +01:00
Wim Taymans
59113af604 Use the new GstSample for snapshots
Make appsink return a GstSample. Remove the pull_buffer_list method because it
is not very useful anymore.
Pass GstSample to the conversion function.
Update playbin2 and examples
2011-12-01 16:53:11 +01:00
Wim Taymans
66d7151787 update marshal list 2011-12-01 15:54:49 +01:00
Wim Taymans
92ac25bdb3 videometa: add copy functions
Without copy functions, the metadata is lost when we make a buffer copy such as
when we make a buffer writable.
2011-12-01 15:45:28 +01:00
Wim Taymans
e064f9dbf6 appsrc: fix negotiation
Remove old useless caps code.
Make a negotiate function and use the configured caps as the caps on the appsrc
pad. If nothing was configured, fall back to the parent implementation.
2011-12-01 15:38:10 +01:00
Edward Hervey
e44db979f9 audio: Add audio-marshal.list to dist-ed files 2011-11-30 11:33:41 +01:00
Wim Taymans
47cbb230e9 audio: move audio interfaces
Move the audio related interfaces to the audio library.
2011-11-30 07:57:02 +01:00
Wim Taymans
4fb0f98bb9 encoding-profile: small cleanup in docs 2011-11-30 07:23:07 +01:00
Edward Hervey
5bc6ffcd8b video: Don't forget to install moved header files 2011-11-29 19:49:50 +01:00
Wim Taymans
871b306fce video: move some interfaces
Move some interfaces to the video library
2011-11-29 19:10:01 +01:00
Alessandro Decina
848711706b libgstvideo: minor fixes to key unit events
Make out args to gst_video_event_parse_{downstream|upstream}_force_key_unit
optional, update libgstvideo.def and fix docs a bit.

API: gst_video_event_new_upstream_force_key_unit
API: gst_video_event_new_downstream_force_key_unit
API: gst_video_event_is_force_key_unit
API: gst_video_event_parse_upstream_force_key_unit
API: gst_video_event_parse_downstream_force_key_unit

https://bugzilla.gnome.org/show_bug.cgi?id=607742
2011-11-29 09:15:59 +01:00
Andoni Morales Alastruey
df44e771f1 libgstvideo: Add force key unit events 2011-11-29 08:58:28 +01:00
Tim-Philipp Müller
0d87fd7146 Merge remote-tracking branch 'origin/master' into 0.11
Conflicts:
	gst-libs/gst/fft/gstffts16.h
2011-11-28 21:25:11 +00:00
Tim-Philipp Müller
0c056a04fe Merge commit '4a58223e4c824fedc024af435337a769e8ce593e' into 0.11 2011-11-28 21:20:10 +00:00
Philippe Normand
0a841f6712 fft: Bracket public headers
This is especially needed if the gstfftw library is used from C++
code.

Fixes #665074
2011-11-28 20:28:19 +01:00
Wim Taymans
5b868bd424 Update for indexable change 2011-11-28 18:24:03 +01:00
Wim Taymans
468d1dde89 audio: update for clock provider API change 2011-11-28 17:51:41 +01:00