Commit graph

3232 commits

Author SHA1 Message Date
Hoseok Chang
f0f8df1a30 camerabin: add "preview-source-filter" property
Adds 'preview-source-filter' for adding an element to proccess
the preview images before posting them to the bus.
2010-09-20 20:46:00 -03:00
Thiago Santos
44fa17b036 camerabin: Make block-after-capture resetting more consistent
Adds another boolean to help controlling viewfinder blocking,
making it possible for the applications to reset the viewfinder
blocking after capture was started but before the blocking
actually happens.
2010-09-20 18:26:48 -03:00
Thiago Santos
87d600b7a2 camerabin: Unblock the viewfinder when going to READY
Unblock the viewfinder when going to ready to avoid
blocking when setting camerabin to playing again and
attemping to capture. Keep the property as is.
2010-09-20 18:26:48 -03:00
Thiago Santos
ca11a51295 camerabin: add monitoring and support for photoiface zoom for video-source
Makes camerabin aware of changes in its videosource zoom property.
2010-09-20 18:26:48 -03:00
Thiago Santos
19981f2787 camerabin: Change zoom property from int to float
Updates zoom property for a more natural type and
makes it consistent with the photography API
2010-09-20 18:26:48 -03:00
Lasse Laukkanen
3e6a4edb15 camerabin: remove caching photography interface settings
Camerabin doesn't implement photography interface, so we
don't need caching the video source properties anymore.
2010-09-20 18:26:48 -03:00
Teemu Katajisto
3582a4a595 camerabin: remove photography interface implementation from camerabin
Remove notify signal proxy for video-source. Application can use
video-source directly from now on to get notified of property changes.
Add monitoring scene-mode property change to select lowest possible
framerate for video capture when night mode is selected.

Fixes #616923
2010-09-20 18:26:47 -03:00
David Schleef
f464ac4d5d invtelecine: Fix name of 30p/60i pattern 2010-09-18 19:27:07 -07:00
David Schleef
8dfcc11bcb interlace: Add allow-rff property. Fix timestamping 2010-09-18 15:05:26 -07:00
David Schleef
fd3d269b8d interlace: merge telecine into normal operation 2010-09-18 14:58:04 -07:00
Robert Swain
351562936c interlace: Add telecine support 2010-09-18 14:58:04 -07:00
Thiago Santos
8047346898 qtmux: Follow xmp serialization guidelines closer
qt and isom variants have different ways of serializing
xmp, follow these guidelines.

Those can be found in Adobe's xmp docs.
2010-09-15 22:07:05 -03:00
Tim-Philipp Müller
42ffb8a4f3 colorspace: add orc-dist files
Should fix build without orc or too old orc.
2010-09-15 21:48:20 +01:00
Tim-Philipp Müller
af7887f0df checksumsink: fix up copyright in header file 2010-09-15 17:52:16 +01:00
David Schleef
5b6550dbd5 bayer2rgb: Add format=bggr/etc. to caps 2010-09-14 12:00:32 -07:00
David Schleef
742867566c colorspace: Add conversion code
Work in progress.  Colorspace handles most format conversion using
3-stage getline/matrix/putline process using an AYUV or ARGB
intermediate, with most functions handled by Orc.  There is also
a table of single-pass conversions, all handled by Orc.  The plan
is to add optional stages for various chroma upsampling/downsampling
algorithms, dithering, and float/int16 intermediates, and then have
Orc create multi-stage functions at runtime.
2010-09-14 12:00:29 -07:00
David Schleef
a25a81222d colorspace: Revive element
Now based on Orc.
2010-09-14 11:32:19 -07:00
Thiago Santos
3a9734f3dc jifmux: Reset tags when going to READY
Reset the tagsetter tags when going to READY state
2010-09-10 13:39:06 -03:00
Thiago Santos
2a0ae1ce1d jpegformat: Fix element description
Use saner categories for jifmux/jpegparse elements
2010-09-10 13:39:06 -03:00
Thiago Santos
fb00b71496 camerabin: Set tags to more elements
Remove check for 'Muxer' category when setting tags
for tagsetters. Set them to all tagsetters in the
pipelines.
2010-09-10 13:39:06 -03:00
Mark Nauwelaerts
3daea4a085 sdpdemux: redirect SDP with an rtsp control URL
When we find an SDP with an rtsp:// url as the global control attribute or when
all streams have an rtsp:// control attribute, post an redirect message with an
rtsp-sdp:// url containing the SDP.

Fixes #628214
2010-09-10 18:37:45 +02:00
Thiago Santos
6fcbf593b8 geometrictransform: Fix build with debugging disabled
Add some ifdefs to prevent build failures due to unused
variables
2010-09-10 10:29:38 -03:00
Thiago Santos
768babf968 id3mux: Map GST_TAG_ALBUM_ARTIST
Map GST_TAG_ALBUM_ARTIST to TPE2 as it is done in
-base id3tag mappings.
2010-09-08 16:57:57 -03:00
Thiago Santos
69151f6850 jifmux: Make it more colorspace smart
This makes it able to recombine rgb images, making it possible
to add tags to rgb jpegs as well.

Uses a simple strategy to check what are the possible colorspaces
and avoid adding jfif to ones that aren't YUV/Gray.
2010-09-07 14:45:12 -03:00
Robert Swain
141f728169 interlace: Fix element details 2010-09-07 13:32:26 +02:00
Mark Nauwelaerts
a5eaa99297 baseparse: non-TIME seek event is simply not handled 2010-09-06 15:20:10 +02:00
Youness Alaoui
9823b9358e dtmfsrc: Make the dtmfsrc accept events sent with gst_element_send_event
The doc says to use gst_element_send_event on the pipeline, but if
we are to call it on the element itself, it's a noop. This should make it
handle the event properly before delegating it to basesrc.
2010-09-06 13:45:44 +03:00
David Schleef
aa3fa6a542 interlace: Add documentation 2010-09-06 03:25:15 -07:00
Sebastian Dröge
6bc160a0dc fpsdisplay: Use G_GUINT64_FORMAT instead of %llu
Fixes compiler warnings on 64 bit architectures.
2010-09-06 10:29:21 +02:00
Stefan Kost
bbfff812bf inputselector: sync with copy in -base
Use _get_caps_reffed to avoid copies.
2010-09-06 11:03:07 +03:00
Stefan Kost
eca2e20945 outputselector: move the debug init to the boilerplate macro 2010-09-06 10:24:07 +03:00
Stefan Kost
b142b7a8c5 inputselector: use GST_BOILERPLATE macro 2010-09-06 10:24:07 +03:00
Stefan Kost
10776e474d fpsdisplaysink: don't add a g_mainloop dependency
Just update the fps-message from the probe handler.
2010-09-06 10:24:06 +03:00
Stefan Kost
9a03a43696 fpsdisplaysink: small cleanup
Add one one example and lower the fon't size for the overlay.
2010-09-06 10:24:06 +03:00
Rob Clark
60c963f0ac fpsdisplaysink: measure fps in terms of wall clock time
Measure fps in terms of system clock, rather than pipeline clock, to get
an accurate meaure of fps.
2010-09-06 10:24:06 +03:00
David Schleef
813a2235b5 checksumsink: Add new element 2010-09-05 22:50:06 -07:00
David Schleef
d759c92bb3 ssim: Add I420 support 2010-09-05 22:50:06 -07:00
David Schleef
5db2beeb49 interlace: Add more formats 2010-09-05 22:50:06 -07:00
Thiago Santos
9ae921f888 camerabin: Use jifmux instead of metadatamux
Use jifmux element to write exif/xmp tags instead of metadatamux
2010-09-05 09:15:56 -03:00
Thiago Santos
bcc59439bc camerabin: Use new tags from -base
Replace private tags from metadata plugin with the new generic tags
from -base.
2010-09-05 09:15:56 -03:00
Thiago Santos
27333b0ef2 jifmux: Do not limit the size of the image on 16bits
Use guint instead of guint16 to represent the size of the encoded image,
this would make some recombined images lose most of their data and
show like a big black image with a small line of content on top.

Also adds a minor log message.
2010-09-05 09:15:55 -03:00
Thiago Santos
f664fd9c04 jifmux: Set output pad caps
Set output pad caps to guarantee caps on the buffers being
pushed downstream.
2010-09-05 09:15:55 -03:00
Thiago Santos
d49acb5588 jifmux: Detect EOI correctly
EOI are not always at the last 4 bytes. We need to search
the last 5 bytes to find the 0xFFD9 sequence as jpegenc seems
to round the buffer size to the next 4 multiple.
2010-09-05 09:15:55 -03:00
Thiago Santos
ba15ad9387 jifmux: Put APP0 first always
Fixes the order of the APP0/APP1 markers. APP0 should
be first.
2010-09-05 09:15:55 -03:00
David Schleef
7ce0ca6c89 interlace: new element 2010-09-04 11:22:26 -07:00
Andoni Morales Alastruey
4668330bdc mpegtsmux: Initialize PES packet before getting the header size.
The PES header length is calculated before setting the dynamic flags, returning
a wrong value. Small frames that should be sent in a single TS packet are
spawned to a new packet because of that error. For audio streams where a single
frame can cope in one TS packet it introduces a huge overhead.

For a 100B packet, we prepare a TS packet with a payload of(100+9)B. Then, we
write the TS header using this value in tsmux_write_ts_header, and call
tsmux_stream_get_data(). The dynamic flags where not set yet and now
tsmux_stream_pes_header_length() returns 14B instead of 9B. The payload of the
TS packet is 114B, 5B more than what was calculated. 109B are sent in a first
packet and the remaining 5B are sent in another one.

Fixes bug #628548.
2010-09-04 15:01:30 +02:00
Thibault Saunier
98e6f113f6 videoanalyse: Use correct element classification
This is no effect but an analyzer. Fixes bug #628527.
2010-09-04 15:01:30 +02:00
Youness Alaoui
5cc57a82f0 rtpmux: Unlock the right mutex
The mutex locked is for the 'mux' object, but we unlock the
pad, which means that if the rtpmux gets a flush, then the
object lock will stay locked forever, causing it to freeze
the next time it tries to take it.

Fixes bug #627991
2010-08-30 15:15:50 +02:00
Mark Nauwelaerts
0ee6ce901d qtmux: autodetect out-of-order input timestamps and determine DTS accordingly
Favour using input buffer timestamps for DTS, but fallback to using buffer
duration (accumulation) if input ts detected out-of-order.

Fixes #624212.
2010-08-21 21:15:21 +02:00
Thiago Santos
407f615887 jifmux: Avoid recombining RGB jpegs
JFIF only allows YUV as colorspace, when we receive an RGB jpeg,
we should just push it forward without adding the JFIF marker.

Fixes #627413
2010-08-21 21:08:13 +02:00
Olivier Crête
db44c62acb gaudieffects: Mark inline functions as static inline
Otherwise it fails to correctly link them in some cases.

https://bugzilla.gnome.org/show_bug.cgi?id=626670
2010-08-12 09:14:10 +01:00
Sebastian Dröge
5ad7ff9482 legacyresample: Link against $(LIBM) for rint() and friends 2010-08-11 11:52:44 +02:00
Sebastian Dröge
e71baf7f9d invtelecine: Link against $(LIBM) for sqrt() and friends 2010-08-11 11:50:05 +02:00
Filippo Argiolas
fd4a629825 geometrictransform: add a "zoom" parameter to square filter
https://bugzilla.gnome.org/show_bug.cgi?id=625908
2010-08-09 19:25:54 +02:00
Filippo Argiolas
4cec7d10cd geometrictransform: make square "width" and "height" customizable
https://bugzilla.gnome.org/show_bug.cgi?id=625908
2010-08-09 19:25:54 +02:00
Filippo Argiolas
2a9b456dab geometrictransform: add a "mode" property to mirror filter
Add a "mode" enum property to mirror that defines how to split the frame
and with side reflect.

https://bugzilla.gnome.org/show_bug.cgi?id=625908
2010-08-09 19:25:54 +02:00
Filippo Argiolas
a72b2f5849 geometrictransform: add a "zoom" parameter to bulge filter
Rework bulge mapping function to give more predictable results.
Now the bulge is done dividing by a scale factor that smoothsteps from
"zoom" at the center to 1.0 at "radius".

https://bugzilla.gnome.org/show_bug.cgi?id=625908
2010-08-09 19:25:54 +02:00
Filippo Argiolas
58b76ac56c geometrictransform: add an "intensity" parameter to stretch filter
https://bugzilla.gnome.org/show_bug.cgi?id=625908
2010-08-09 19:25:53 +02:00
Filippo Argiolas
7be30c3daf geometrictransform: make tunnel "radius" customizable
https://bugzilla.gnome.org/show_bug.cgi?id=625908
2010-08-09 19:25:53 +02:00
Filippo Argiolas
1652a3ef57 geometrictransform: make bulge "radius" customizable
https://bugzilla.gnome.org/show_bug.cgi?id=625908
2010-08-09 19:25:53 +02:00
Filippo Argiolas
27134c6e38 geometrictransform: make stretch "radius" customizable
https://bugzilla.gnome.org/show_bug.cgi?id=625908
2010-08-09 19:25:53 +02:00
Sebastian Dröge
6050642add frei0r: Only check the plugin filenames, not the directory names 2010-08-08 12:01:31 +02:00
Sebastian Dröge
1e3ec9e3bd frei0r: Don't try to register/load the same frei0r plugin at different locations twice
This could happen because for example /usr/lib is linked
to /usr/lib64 and both are loaded. The frei0r specification
says that the plugin init function must only be called once
and for some plugin weird things (including crashes) are
happening.

Fixes bug #623710.
2010-08-08 11:56:42 +02:00
Olivier Crête
3579c1164b frei0r: Load plugins in /usr/{local/,}lib{32,64}/frei0r-1 too
Loads the plugins in more paths where they could be installed by
multilib distributions.

Fixes #623710
2010-08-06 03:19:16 +02:00
Filippo Argiolas
c921067208 geometrictransform: make ciclegt "radius" property relative
Make the "radius" property of CircleGeometricTransform relative.
This is more coherent with the way [x,y]-center properties are handled
and allow to set a radius without knowing the video size.
Radius is defined with respect to the circle circumscribed about the
video rectangle so that a point in the center has radius 0.0 and one in
a vertex has radius 1.0.
Note that this is not a regression from the previous absolute way of
defining the radius as a user who knows the video size can easily
calculate the relative radius and set that.

https://bugzilla.gnome.org/show_bug.cgi?id=625959
2010-08-04 20:09:09 -03:00
Tim-Philipp Müller
770194a8fc id3mux: minor code clean-up
Add helper function to write text frames with just one string.
2010-08-04 23:56:04 +01:00
Jonathan Matthew
76311f2ef0 id3mux: add support for beats-per-minute tag
Write beats per minute into the TBPM frame, and add unit
test for id3mux, based on id3v2mux unit test.

https://bugzilla.gnome.org/show_bug.cgi?id=621523
2010-08-04 23:56:04 +01:00
Sebastian Dröge
09507edb8c coloreffects: Minor cleanup 2010-08-04 10:11:11 +02:00
Sebastian Dröge
43db67f705 coloreffects: Improve property description a bit 2010-08-04 10:09:53 +02:00
Sebastian Dröge
3878dce20d coloreffects: Don't use the fixed_caps func on the pads
coloreffects can renegotiate during playback without any problems.
2010-08-04 10:08:24 +02:00
Filippo Argiolas
74de641ca4 coloreffects: add ayuv support
Currently implemented switching from yuv to rgb, looking up rgb from the
table in the usual way, getting back to yuv. With luma lookup presets
(sepia, heat, xray) a color space conversion is saved directly looking
up rgb for a given Y and converting to yuv.
Probably this latter step can even be made faster precalculating a luma
to yuv table in an outer loop.

https://bugzilla.gnome.org/show_bug.cgi?id=625817
2010-08-04 10:05:35 +02:00
Filippo Argiolas
79c343bade coloreffects: new plugin for lookup table color mapping
Implements a color lookup table filter with 4 presets:
 - heat: fake heat camera effect
 - sepia: sepia toning
 - xray: invert + shade to blue
 - xpro: cross process

https://bugzilla.gnome.org/show_bug.cgi?id=625817
2010-08-04 10:04:20 +02:00
Filippo Argiolas
0c0adffce7 geometrictransform: new filter "fisheye"
Ports gleffects "fisheye" filter to geometrictransform.
Fake fisheye lens filter. Somewhat empiric implementation because I
didn't find any good algorithm that does it with nice results.

https://bugzilla.gnome.org/show_bug.cgi?id=625722
2010-08-02 20:16:37 +02:00
Filippo Argiolas
9ee12f94de geometrictransform: new filter "mirror"
Ports gleffects "mirror" filter to geometrictransform.
Simple yet effective mirror effect, splits the image into halves and
reflect the first into the second.

https://bugzilla.gnome.org/show_bug.cgi?id=625722
2010-08-02 20:15:06 +02:00
Filippo Argiolas
5c4915d917 geometrictransform: new filter "square"
Ports gleffects "square" filter to geometrictransform.
Maps a region around the center into a zoomed square and smoothly get
back to normal zoom. With faces it makes a funny "cube-face" effect.

https://bugzilla.gnome.org/show_bug.cgi?id=625722
2010-08-02 20:14:23 +02:00
Filippo Argiolas
a7fb7ae06c geometrictransform: new filter "tunnel"
Ports gleffects "tunnel" filter to geometrictransform.
Do nothing in a circle around the center and zoom outside.

https://bugzilla.gnome.org/show_bug.cgi?id=625722
2010-08-02 20:12:44 +02:00
Filippo Argiolas
3ba3310b01 geometrictransform: new filter "bulge"
Ports gleffects "bulge" filter to geometrictransform.
Adds a protuberance around the center point.

https://bugzilla.gnome.org/show_bug.cgi?id=625722
2010-08-02 20:11:28 +02:00
Filippo Argiolas
2edd185a9a geometrictransform: new filter "stretch"
Ports gleffects "stretch" filter to geometrictransform.
Shrinks the image around the center and gradually return to normal zoom
creating funny caricatures.

https://bugzilla.gnome.org/show_bug.cgi?id=625722
2010-08-02 20:09:26 +02:00
Jan Schmidt
2f1899cd31 gaudieffects: Add Gaussian Blur effect, and brief example. 2010-08-02 20:46:48 +10:00
Zaheer Abbas Merali
c7b195740e mpegtsparse: actually work when we have small buffers coming in
available_fast is not what we want and it will never get to discover packet
size if 188 byte buffers are being picked up.
2010-07-29 10:38:58 +01:00
Tim-Philipp Müller
e12ca273db ivfparse: fix up macros and function names to match guidelines 2010-07-28 18:42:05 +02:00
Tim-Philipp Müller
120d4a2955 gaudieffects: fix structure names to comply with the plugin moving guidelines 2010-07-28 18:42:05 +02:00
Marc-André Lureau
691901da51 qtmux: use caps bitrate at last chance
If we didn't get the stream's bitrate from one of the atoms,
try getting it from the caps as a last resort.

https://bugzilla.gnome.org/show_bug.cgi?id=625496
2010-07-28 12:23:21 -03:00
Marc-André Lureau
2e17f7cbf7 qtmux: btrt - max bitrate before average
According to iso base media file format, the max bitrate
is before the avg

https://bugzilla.gnome.org/show_bug.cgi?id=625496
2010-07-28 12:20:52 -03:00
Luis de Bethencourt
b870ff15b5 gaudieffects: Adds new plugin 'gaudieffects'
Adds the new 'gaudieffects' plugin, originally found
here: http://github.com/luisbg/gaudi_effects

Contains the following video effect elements: burn, chromium, dilate,
dodge, exclusion and solarize.

Thanks to Jan Schmidt for the reviewing and refactoring
2010-07-20 20:07:56 -03:00
Sebastian Dröge
7d4fcdc5cf frei0r: Use correct order of directories to search for plugins
And don't fail if a plugin was already registered. Frei0r allows
plugins in directories with higher importance to override plugins
from directories with lower importance.
2010-07-11 10:47:37 +02:00
David Hoyt
3172e11121 aifmmux: use alternative way to check for inf
MSVC emits a divide-by-zero error when compiling aiffmux.c on line 205.
Fixes #623881.
2010-07-09 17:44:56 +03:00
Víctor Manuel Jáquez Leal
1d57953496 jpegparse: fix exif frame size
Skip the correct number of bytes when reading exif
data

Fixes #623854
2010-07-08 14:27:45 -03:00
Thiago Santos
44e3d29ec4 camerabin: Fix viewfiner-sink property for bins
Correctly iterate viewfinder-sink children when
it is a bin.

Fixes #623802
2010-07-07 23:21:52 -03:00
Arun Raghavan
c28613d8db qtmux: Write 'btrt' atom for H.264 media if possible
This writes out the optional 'btrt' atom (MPEG4BitrateBox) for H.264
media if either or both of average and maximum bitrate are available for
the stream.

https://bugzilla.gnome.org/show_bug.cgi?id=623678
2010-07-07 23:21:51 -03:00
Arun Raghavan
827e401e3a qtmux: Write avg/max bitrate to ESDS if available
This collects the 'bitrate' and 'maximum-bitrate' tags on the
corresponding pad and uses these to populate these fields in the ESDS
where applicable.

https://bugzilla.gnome.org/show_bug.cgi?id=623678
2010-07-07 23:21:51 -03:00
Tim-Philipp Müller
8e2af9017e asfmux: only use g_warning() when setting the old is-live property, not when reading it
Don't want warnings in e.g. gst-inspect.
2010-07-06 13:15:27 +01:00
Mark Nauwelaerts
3a1d0b7a0f jpegparse: fix skipping extra 0xff markers
In particular, this makes the jpegparse unit test pass again.
Also add a debug statement.

Fixes #622690.
2010-07-05 11:54:25 +02:00
Edward Hervey
e5ce188b1d qtmux: Don't use bogus codec/format tags
https://bugzilla.gnome.org/show_bug.cgi?id=623365
2010-07-02 12:46:08 +02:00
Olivier Crête
d46275c37f rtpmux: Add support for GstBufferList
Factor out most of the buffer handling and implement a chain_list
function. Also, the DTMF muxer has been modified to just have a
function to accept or reject a buffer instead of having to subclass
both chain and chain_list.
2010-07-02 00:15:49 -04:00
Olivier Crête
5d21b0815a rtpmux: Don't leak invalid buffers 2010-07-02 00:15:49 -04:00
Olivier Crête
7950499805 videomaxrate: Add to docs 2010-07-02 00:06:44 -04:00
Olivier Crête
68aaa637b8 videomaxrate: Add fixates_caps 2010-07-02 00:06:44 -04:00
Olivier Crête
f027b95400 videomaxrate: Accept wider caps 2010-07-02 00:06:44 -04:00
Olivier Crête
b9601e2096 videomaxrate: Make period over which to average configurable 2010-07-02 00:06:44 -04:00
Olivier Crête
3449d16566 videomaxrate: Simplify transform_caps 2010-07-02 00:06:44 -04:00
Olivier Crête
ed74d385bc videomaxrate: Use basetransform correctly 2010-07-02 00:06:44 -04:00
Olivier Crête
6aa71af0ec videomaxrate: Make plugin actually work by using an average 2010-07-02 00:06:44 -04:00
Olivier Crête
599027fe24 videomaxrate: Import plugin
Import plugin from PsiMedia, based on my work
2010-07-02 00:06:44 -04:00
Thiago Santos
c470918903 fpsdisplaysink: signal-fps-measurements is writable
signal-fps-measurements is a readwrite property, not read-only.

Also adds some more debugging logs.
2010-07-01 17:13:25 -03:00
Sebastian Pölsterl
61a8856133 mpegtsparse: don't free PAT structure which may still be needed later
This is a problem if you tune to a channel which uses pid X and later tune to
another channel where X is used for another table (e.g. PMT).

The code that does that was actually already there but never used because the
pat structure was freed before. The commit that introduced those lines intended
to fix a memory leak, but we clean things up elsewhere.

Fixes #622725.
2010-06-30 18:27:16 +01:00
Sebastian Dröge
5e8a24274f legacyresample: Include _stdint.h for int16_t and friends 2010-06-27 19:22:39 +02:00
Tim-Philipp Müller
144d43bcef assrender, ivfparse, jpegformat: fix compiler warnings with debugging disabled in core 2010-06-27 11:25:20 +01:00
Thiago Santos
be3a4b7978 qtmux: Write uint tags that don't have a complement
Write uint tags that have complements (e.g. track-number/
track-count) even when we only have one of them available
and set the other one to 0.

Fixes #622484
2010-06-25 20:19:20 -03:00
Thiago Santos
a267d287f5 asfmux: Warn if preroll value is too big
Post a warning when the preroll value is greater than
the streams duration
2010-06-24 20:22:16 -03:00
Thiago Santos
423418a51b asfmux: Make metadata writable before setting it
Before copying metadata from one buffer to another, make sure
the destination is metadata-writable.
2010-06-24 18:33:39 -03:00
Thiago Santos
57b9ce71b4 fpsdisplaysink: Adds a signal to inform measurements to apps
Adds a signal for applications to receive the fps measurements made
instead of only printing them to the frame/stdout.

This signal is only emited if the signal-fps-measurements property
is set to TRUE
2010-06-24 13:53:08 -03:00
Thiago Santos
f78bf26951 fpsdisplaysink: Adds max-fps and min-fps property
Adds 2 properties for getting the maximum and minimum fps
values measured
2010-06-24 13:34:14 -03:00
Thiago Santos
dfec8f7fae fpsdisplaysink: Use G_PARAM_STATIC_STRINGS in all properties
Add G_PARAM_STATIC_STRINGS to the properties that are
missing it
2010-06-24 13:34:14 -03:00
Thiago Santos
dc8f1dbb3e fpsdisplaysink: Add fps-update-interval property
Use a property to set/get the fps update interval instead
of having a hardcoded value.
2010-06-24 13:34:13 -03:00
Mark Nauwelaerts
21a6347b39 h264parse: obtain correct upstream timestamp
... for optional downstream use.
2010-06-23 10:39:53 +02:00
Mark Nauwelaerts
4c7fd3c247 h264parse: add new h264 caps attribute alignment
See #606662.
2010-06-22 12:39:59 +02:00
Edward Hervey
02cc3313b4 qtmux: Remove the pad from our internal list before calling collectpads
Previously we would end up with the collectpaddata structure already freed.
This would result in a bogus iteration of mux->sinkpads (all the
GstQTPad being freed) and it wouldn't be removed from that list.

Finally, due to it not being removed from that list, we would end up
calling a bogus gst_qt_mux_pad_reset on those structures => SEGFAULT
2010-06-21 19:42:50 +02:00
Thiago Santos
478ef90cf9 camerabin: Move debug category declaration to a separate file
Having GST_DEBUG_CATEGORY and GST_DEBUG_CATEGORY_EXTERN together
might lead to 'undefined symbol' problems. This commit moves
the _EXTERN to a separate new file.
2010-06-21 10:25:15 -03:00
Thijs Vermeir
1244738bc1 Revert "h264parse: add parsed field to src caps"
This reverts commit 54edae4f1f.

See this bug for more information:
https://bugzilla.gnome.org/show_bug.cgi?id=606662
2010-06-21 11:13:20 +02:00
Austin Lund
2ed73a6ad0 mpegvideoparse: Remove redundant log message 2010-06-20 23:34:56 +10:00
Thijs Vermeir
54edae4f1f h264parse: add parsed field to src caps 2010-06-20 10:59:56 +02:00
Thiago Santos
34836d6ea4 id3tag: Use gst_tag_list_peek_string_index
Replace _get_string_index with _peek_string_index to avoid
a string copy
2010-06-18 14:49:24 -03:00
Mark Nauwelaerts
33e78b12b4 h264parse: also handle 3-byte bytestream sync code 2010-06-18 18:42:47 +02:00
Thijs Vermeir
ba39867606 mpegdemux: improve debug output 2010-06-17 10:52:31 +02:00
Benjamin Otte
147e0682b4 pnmdec: Don't crash if no valid input was parsed yet
https://bugzilla.redhat.com/show_bug.cgi?id=603771
2010-06-16 10:31:19 +02:00
Austin Lund
0fba38f833 mpegvideoparse: Added debugging output for mpegpacketiser 2010-06-16 10:39:04 +10:00
Mark Nauwelaerts
112df6cc0e baseparse: fix seek event ref handling 2010-06-15 15:42:26 +02:00
Mark Nauwelaerts
484af544bf baseparse: prevent arithmetic overflows in pull mode buffer cache handling 2010-06-15 15:42:26 +02:00
Mark Nauwelaerts
07561dbfd1 baseparse: fix seek handling
Allow a few more seek event type combinations, and really use the result
of gst_segment_set_seek to perform the seek.  Also add some debug.
2010-06-15 15:42:26 +02:00
Mark Nauwelaerts
a60af008d5 mpeg4videoparse: sprinkle some branch prediction 2010-06-15 11:30:45 +02:00
Mark Nauwelaerts
cd018e5440 mpeg4videoparse: handle FLUSH_STOP event 2010-06-15 11:30:41 +02:00
Mark Nauwelaerts
c2b649d692 mpeg4videoparse: add config-interval parameter to re-insert config in stream
Add a new config-interval property to instruct the parser to insert
config (VOSH, VOS, etc) at periodic intervals in the stream
(when a GOP or VOP-I is encountered).

Based on patch by <marc.leeman at gmail.com>

Fixes #621205.
2010-06-15 11:30:39 +02:00
Jan Schmidt
2f9b765326 mpegvideoparse: Apply previous timestamp when there isn't any newer.
If the current incoming packet didn't carry a timestamp, but a
previous packet had one we didn't yet use, then apply that timestamp
to the next picture.
Fixes: #618336
2010-06-15 17:16:12 +10:00
Mark Nauwelaerts
7601bc306a jpegparse: handle FLUSH_STOP sink event 2010-06-14 15:48:34 +02:00
Mark Nauwelaerts
e6cf05b114 jpegparse: optimize image parsing
Use adapter API for scanning and peeking to reduce buffer copying.

See #583047.
2010-06-14 15:48:34 +02:00
Sebastian Dröge
b1a12c3a2d mpegtsdemux: Don't use liboil functions
glibc memcpy() will be faster than liboil's/orc's for now anyway
and we can use orc's later, after orc has support for loop unrolling.
2010-06-14 14:48:02 +02:00
Sebastian Dröge
3a2f40e160 legacyresample: Don't include liboil headers, they're not used anyway 2010-06-14 14:47:47 +02:00
Mark Nauwelaerts
d6cab72552 h264parse: add option to insert SPS/PPS in stream
Add a new config-interval property to insert SPS and PPS at periodic intervals
in the stream (when an IDR is encountered).

Based on patch by <marc.leeman at gmail.com>

Fixes #620978.
2010-06-14 12:49:40 +02:00
Mark Nauwelaerts
3a1fad6099 h264parse: also collect SPS and PPS nalu in codec_data 2010-06-14 11:59:55 +02:00
Thiago Santos
00897e21a9 jpegformat: Add exif support
Adds exif writing support to jifmux.
Adds parsing support to jpegparse.

Fixes #614872
2010-06-09 17:29:32 -03:00
Thiago Santos
bc8f4adaa6 asfmux: Deprecate 'is-live' and add 'streamable' property
Following the similar change in flvmux, this commit adds
'streamable' property and deprecated 'is-live' for a better/less wrong
name.
2010-06-08 19:37:43 -03:00
Andoni Morales Alastruey
40209aa30f asfmux: don't set the 'seekable' flag if we are streaming
Fixes #618522
2010-06-08 14:50:35 -03:00
Andoni Morales Alastruey
2a94798136 asfmux: write preroll info in the header at initialization
This value doesn't need to be updated and is usefull in a streaming context

Fixes #618522
2010-06-08 14:50:22 -03:00
Andoni Morales Alastruey
0039494227 asfmux: put headers in streamheader for streaming
Fixes #618522
2010-06-08 14:49:30 -03:00
Marc-André Lureau
43f8e926e7 mpegtsmux: start pmt at 0x020 as suggested by Zaheer 2010-06-08 15:36:47 +02:00
Marc-André Lureau
d335a55b49 mpegtsmux: take all the pmt in the streamheaders 2010-06-08 15:36:29 +02:00
Thiago Santos
233b09f9b9 camerabin: Do not assert on set_property to NULL for elements
Check if the value is NULL before reffing them in set_property
for 'GstElement' properties
2010-06-08 09:14:01 -03:00
Thiago Santos
7806ba95b6 camerabin: Do not assert on null caps property
If camerabin receives a null caps as 'filter-caps' argument,
use the default value
2010-06-08 08:41:49 -03:00
Thiago Santos
4fa3e217e2 geometrictransform: Use _CAST macro
Replace default type casting macro with the faster direct _CAST macro
2010-06-07 22:56:17 -03:00
Thiago Santos
1c33b79c0c geometrictransform: Make properties controllable
Makes the element's properties controllable and threadsafe.

Fixes #620825
2010-06-07 22:55:24 -03:00
Olivier Crête
dd13e85ca1 dtmfdetect: Only works with rate=8000, fix in caps 2010-06-07 11:15:26 -04:00
Thiago Santos
72590ad056 camerabin: Fix crash in 'filename' property
Do not crash when filename property is set to NULL, use an
empty string instead.
2010-06-07 07:58:22 -03:00
Thiago Santos
017808ef8d marble: Adds 'marble' element to geometrictransform
Adds a new element that does a marbling effect to
geometrictransform plugin
2010-06-06 22:38:34 -03:00
Thiago Santos
a45a1d70dd geometrictransform: Use explicit formats from gstvideo
Use explicit format macros from gstvideo to avoid exposing
unsupported formats on template pads. Using the macros
also give us complete caps (width/height/framerate).

And add support for AYUV.

Fixes #620717
2010-06-06 14:35:44 -03:00
Thiago Santos
9f6cbc889b diffuse: Adds diffuse element to geometrictransform
Adds the 'diffuse' element to geometrictransform. It moves
the pixels of the image in random directions
2010-06-06 13:00:45 -03:00
Thiago Santos
e7d417f4fc geometrictransform: Make map precalculation optional
Adds a variable to be set to allow subclasses to enable
or disable precalculation of the pixels mapping
2010-06-06 13:00:44 -03:00
Sebastian Dröge
547f037ea4 rtmp: Move to ext and drop internal librtmp copy
We really don't want this in gst-plugins-bad because of
legal complexities around RTMP and possible problems
for distributions.

Add README that explains how to build librtmp to be suitable
for linking to the GStreamer plugin.
2010-06-05 18:02:39 +02:00
Bastien Nocera
b87668e143 rtmp: Add RTMP source plugin
https://bugzilla.gnome.org/show_bug.cgi?id=566604
2010-06-05 18:02:39 +02:00
Thiago Santos
581b63c678 geometrictransform: Set output buffer data to 0
Initialize output buffer data to 0 before doing the
transform.
2010-06-05 11:04:45 -03:00
Thiago Santos
964c71b7c6 geometrictransform: Descriptions and default values
Improve some properties and element descriptions and changes
some default properties values.
2010-06-05 10:58:00 -03:00
Thiago Santos
44d33ee1c8 geometrictransform: Remove trailing whitespace
Remove trailing whitespace from geometrictransform files
2010-06-04 15:53:20 -03:00
Thiago Santos
213277cc02 waterripple: Adds new waterripple element to geometrictransofmr
Adds an water ripple distortion element to geometrictransform
2010-06-04 15:31:22 -03:00
Thiago Santos
ed7461b589 sphere: Adds new 'sphere' element to geometrictransform
Adds a new element to do 'sphere' effect into geometrictransform
plugin
2010-06-04 15:31:22 -03:00
Thiago Santos
a00614064b geometrictransform: adds some properties to base class
Adds a property to select what to do with pixels that are mapped out of
edges: ignore, clamp or wrap.
2010-06-04 15:31:22 -03:00
Thiago Santos
179e234361 circle: Adds circle element to geometrictransform plugin
Adds the new 'circle' element to geometrictransform plugin
2010-06-04 15:31:21 -03:00
Thiago Santos
8eab2c8a30 kaleidoscope: Adds new element 'kaleidoscope'
Adds new kaleidoscope element to geometrictransform plugin
2010-06-04 15:31:21 -03:00
Thiago Santos
53d40802d2 gsttwirl: Adds new element twirl
Adds a new element to geometrictransform plugin: twirl
2010-06-04 15:31:21 -03:00
Thiago Santos
2f9a630a62 geometrictransform: Adds a intermediary baseclass circlegeometrictransform
Adds an intermediary baseclass named gstcirclegeometrictransform
to keep common properties code for filters that operate on
a circular area.
2010-06-04 15:31:20 -03:00
Thiago Santos
dcda4b606c pinch: Some optimization using the prepare func
Small optimization by precalculating the center of the effect,
also use newly added _CAST macro.
2010-06-04 15:31:20 -03:00
Thiago Santos
8c5360a559 geometrictransform: Adds prepare function and cleanup
Adds a prepare function to make subclasses precalculate values
that will be used throughout the mapping functions.

Also adds a missing cleanup to fix a memleak
2010-06-04 15:31:19 -03:00
Thiago Santos
6560248be9 geometrictransform: Precalculate mapping array
Precalculate when setting caps the warping map to avoid
recalculating it every buffer
2010-06-04 15:31:19 -03:00
Thiago Santos
1250a7406d geometrictransform: Accept any rgb or gray
Using gstvideo functions geometrictransform can handle
rgb or gray, put that on template caps
2010-06-04 15:31:19 -03:00
Thiago Santos
525aae23dc geometrictransform: Rename some variables for clarity
Renames some variables and adds a minimum doc to the
mapping function for a little clarity.

Also uses gstvideo functions for the row and pixel strides
instead of hardcoded values
2010-06-04 15:31:18 -03:00
Thiago Santos
b7660b122c geometrictransform: New plugin for geometric transforms
Adds a new plugin that has elements that perform geometric
transformations to images. By geometric transformations I mean
that the operations are functions that given the output pixel
position, get the pixel position in the input image. This pixel
is then copied from input to output.

The gstgeometrictransform baseclass makes it easy to write
such elements. It boils down to write the mapping function
and exposing properties

Already added the first of the elements, 'pinch'. It's a common
effect in image editors, like gimp (distort -> pinch)
2010-06-04 15:31:18 -03:00
David Schleef
90a2cd5cc5 bayer2rgb: handle other bayer formats 2010-06-03 23:57:46 -07:00
David Schleef
2db6d968d8 rgb2bayer: handle multiple bayer formats 2010-06-03 23:57:46 -07:00
David Schleef
5c1eb82b8a bayer: Add rgb2bayer element
Mostly for testing/completeness.
2010-06-03 23:57:45 -07:00
Olivier Crête
21686e3077 shm: Move to sys/ since it doesn't exist on windows 2010-06-03 15:27:43 -04:00
Olivier Crête
536e79befd shmsrc: Fix indentation 2010-06-03 15:27:43 -04:00
Olivier Crête
f26d799676 shmsink: Print errors if fchmod fails 2010-06-03 15:27:43 -04:00
Olivier Crête
b9decbb056 shmpipe: Fix crash when sp_close_shm is called with self == NULL.
If sp_open_shm errors out trying to open a shm area, it would crash
when trying to free the area. The RETURN_ERROR macro calls
sp_shm_area_dec with self == NULL. sp_shm_area_dec calls
sp_shm_close, with self == NULL, which it then tries to access a
parameter of without checking. This patch checks to make sure
self != NULL before accessing that parameter.
2010-06-03 15:27:43 -04:00
Olivier Crête
e8b4310aa6 shmpipe: Update code standard 2010-06-03 15:27:43 -04:00
Olivier Crête
c60ef5e81f shmsrc: Add socket path to error message 2010-06-03 15:27:43 -04:00
Olivier Crête
f366356fdf shmpipe: Remove wrong test inversion 2010-06-03 15:27:42 -04:00
Olivier Crête
1d893f8157 shmpipe: Verify that accept succeeds 2010-06-03 15:27:42 -04:00
Olivier Crête
d2731d689d shmpipe: Fix one byte overflow 2010-06-03 15:27:42 -04:00
Olivier Crête
2c02d0c0e4 shmsrc: Improve debug prints 2010-06-03 15:27:42 -04:00
Olivier Crête
5c7a160de5 shmsink: Get potentially modified after opening shmpipe 2010-06-03 15:27:42 -04:00
Olivier Crête
7e8eae9f2a shm: Try alternate paths for the socket 2010-06-03 15:27:42 -04:00
Olivier Crête
73fa2f9b76 shmpipe: Don't pretend the path is random 2010-06-03 15:27:42 -04:00
Olivier Crête
7c2a445a72 shmpipe: Create shm area exclusively 2010-06-03 15:27:42 -04:00
Olivier Crête
807da2165a shmalloc: Make it build in non-glib world 2010-06-03 15:27:42 -04:00
Olivier Crête
c8eb511a9d shmsrc: Make the shmpipe life independant of the element states 2010-06-03 15:27:42 -04:00
Olivier Crête
8f8b50a88e shmpipe: Simplify handling of random paths 2010-06-03 15:27:42 -04:00
Olivier Crête
23414310a6 shmpipe: Remove useless attrib 2010-06-03 15:27:42 -04:00
Olivier Crête
007a26ac08 shmpipe: Ref client shmarea when a buffer is received in it 2010-06-03 15:27:42 -04:00
Olivier Crête
68c9ed6e5c shmpipe: Don't dec old shm area when new one is added
Its ref will be dropped when the "close" message arrives
2010-06-03 15:27:41 -04:00
Olivier Crête
4f4ba5981b shmsrc: Lock uses of shmpipe 2010-06-03 15:27:41 -04:00
Olivier Crête
92dccdd170 shmsrc: Add is-live property 2010-06-03 15:27:41 -04:00