Commit graph

3042 commits

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