Olivier Crête
c47c26bf1f
Revert "autoconvert: Handle caps query on internal srcpad"
...
This is not needed anymore if the gst_pad_link checks nothing.
This reverts commit a303375a3f
.
2014-05-09 23:04:26 -04:00
Olivier Crête
c0ff27959e
autoconvert: No need to check anything when linking internal pads
2014-05-09 23:03:48 -04:00
Olivier Crête
4ccf7582a2
autoconvert: Don't ignore elements accepted ANY, it is valid
2014-05-09 23:03:43 -04:00
Olivier Crête
f3f6cdd451
autoconvert: Remove broken usage of the iterator
...
We're a subclass, so we can just take the object lock and iterate the list
directly.
2014-05-09 23:03:36 -04:00
Olivier Crête
907ffc7352
autoconvert: Process upstream getcaps
...
Process it like downstream getcaps
2014-05-09 23:03:29 -04:00
Olivier Crête
b852f13a54
autoconvert: Return the GList of factories, to a pointer to it.
2014-05-09 23:02:28 -04:00
Olivier Crête
9eeef09c80
autoconvert: subelement can only be change with stream lock held
...
It was already the case, now be more explicit about that, and remove useless
lock/ref/unlock/unref dances.
2014-05-09 23:02:23 -04:00
Olivier Crête
606ff3debd
autoconvert: Keep a ref to the pads too
...
Simplifies the code
2014-05-09 23:02:16 -04:00
Olivier Crête
968b4a4969
autoconvert: Remove uneeded if()
...
NULL is valid GList
2014-05-09 23:02:12 -04:00
Olivier Crête
b76e564acf
autoconvert: Always push reconfigure upstream too
...
A reconfigure could trigger a change of contents instead of just reconfiguring the internal element
2014-05-09 23:02:09 -04:00
Olivier Crête
ead6db4277
autoconvert: Remove unused internal parameter
2014-05-09 23:02:05 -04:00
Luis de Bethencourt
bf1997fe89
pnmenc: remove empty line
...
Remove trailing empty line from commit bfdc543952
https://bugzilla.gnome.org/show_bug.cgi?id=729614
2014-05-06 10:00:28 -04:00
Jesper Larsen
f9a4d559eb
mpegtsmux: Remove unused data in TsMuxSection
...
https://bugzilla.gnome.org/show_bug.cgi?id=721685
2014-05-06 14:10:06 +02:00
Tim-Philipp Müller
e807ac077d
pnmenc: fix flow return and buffer leak in not-negotiated case
...
https://bugzilla.gnome.org/show_bug.cgi?id=729614
2014-05-06 09:48:58 +01:00
Sanjay NM
bfdc543952
Fix for not checking zero width and height
...
Signed-off-by: Sanjay NM <sanjay.nm@samsung.com>
https://bugzilla.gnome.org/show_bug.cgi?id=729614
2014-05-06 00:27:49 -04:00
Sebastian Dröge
b2ce00c55d
Release 1.3.1
2014-05-03 19:57:57 +02:00
Per x Johansson
6a7315c382
watchdog: Add handling of PAUSED state
...
Also allow disabling the timeout by setting it to 0.
https://bugzilla.gnome.org/show_bug.cgi?id=726156
2014-05-03 09:50:59 +02:00
Blake Tregre
a73a42b10f
rfbsrc: Send stream-start event in the beginning
...
https://bugzilla.gnome.org/show_bug.cgi?id=726802
2014-05-02 14:20:58 +02:00
Haakon Sporsheim (ieei)
36a2acae45
h264parse: unref/replace force_key_unit_event in gst_h264_parse_reset
...
https://bugzilla.gnome.org/show_bug.cgi?id=729200
2014-04-29 12:17:51 -03:00
Tim-Philipp Müller
dbe6fdd6bf
docs: remove outdated and pointless 'Last reviewed' lines from docs
...
They are very confusing for people, and more often than not
also just not very accurate. Seeing 'last reviewed: 2005' in
your docs is not very confidence-inspiring. Let's just remove
those comments.
2014-04-27 00:36:32 +01:00
Sebastian Dröge
dec5de073d
mpegtsmux: Only require alignment and stream-format for h264, parsed is implicit
2014-04-25 17:40:56 +02:00
Edward Hervey
f982feb1d9
mpegpsdemux: Flush program end code bytes
...
This should not harm regular files, since those are the last 4 bytes of
a normal file.
This allows to handle playback of concatenated mpeg-ps files. Seeking and
duration reporting is still wrong though.
2014-04-23 10:46:20 +02:00
Sebastian Dröge
516597d5fa
mpegtspacketizer: Remove dead code and simplify if statement
...
CID 1204274
2014-04-22 12:56:54 +02:00
Vincent Penquerc'h
60d7e45cab
mxf: fix MP2 case
...
Testing mpegversion when mpegaudioversion was likely meant.
Similar tests in sys/androidmedia/gstamcaudiodec.c also test
mpegaudioversion with the same conditional code.
Coverity 206071
2014-04-21 13:23:46 +01:00
Vincent Penquerc'h
7659f3bec4
vc1parse: guard against dividing by zero
...
If framerate is unknown, we write the maximum framerate
allowed for this profile/level:
https://tools.ietf.org/html/draft-ietf-avt-rtp-vc1-06#section-6.1
http://wiki.multimedia.cx/index.php?title=VC-1#Setup_Data_.2F_Sequence_Layer
Coverity 1139694
2014-04-21 13:23:46 +01:00
Vincent Penquerc'h
d111287995
mxfmux: guard against dividing by 0
...
Use a placeholder value in that case, it's better than crashing.
Coverity 1139697
2014-04-21 13:23:46 +01:00
Vincent Penquerc'h
52981d5a4a
mxfdemux: guard against NULL non source components
...
This component is dereferenced, and later code checking for
NULL in particular cases implies it can be NULL. This likely
does not fix the coverity warning as it was seeing another
path setting component to NULL explicitely, but this was
spotted by looking at:
Coverity 1139736
Which is actually OK from what I can see since the actual
dereference of the explicit NULL pointer will not happen
if the condition that led to the NULL pointer assignment
is met, since the assignment and defeference have mutually
exclusive tests.
2014-04-21 09:24:00 +01:00
Vincent Penquerc'h
9815faea9b
rawparse: catch errors in caps manipulation
...
Coverity 1139622
2014-04-21 09:24:00 +01:00
Gwenole Beauchesne
abadffd4d8
ivfparse: detect and propagate resolution changes.
...
Detect resolution changes on key frames, and propagate the resulting
caps to the src pad. Only the uncompressed data chunk is decoded, so
avoid using the new VP8 bitstream parsing library for now.
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2014-04-18 18:31:15 +02:00
Gwenole Beauchesne
3b308cba3c
ivfparse: avoid possible division-by-zero when calculating PTS.
...
Avoid possible division-by-zero while deriving the presentation timestamp
of the buffer. The base class will take care of any interpolation needs.
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2014-04-18 18:31:15 +02:00
Gwenole Beauchesne
3d0ce67fcd
ivfparse: port to baseparse.
...
https://bugzilla.gnome.org/show_bug.cgi?id=710855
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2014-04-18 18:31:15 +02:00
Edward Hervey
f062b78051
mpegtspacketizer: Improve ts_to_offset code
...
* Search in current pending values first. For CBR streams we can very
easily end up having just one initial observations and then nothing
else (since the bitrate doesn't change).
* Use one group whether we are in that group *OR* if there is only
one group.
* If the group to use isn't closed (points are being accumulated in the
PCROffsetCurrent), use the latest data available for calculation
* If in the unlikelyness that all of this *still* didn't produce more
than one data point, just return the initial offset
2014-04-18 16:23:43 +02:00
Edward Hervey
f96604099d
tsdemux: Fix scaling macros
...
While the calculation done in these macros will work with 64bit
integers, they will fail if working with 32bit integers.
Force the scaling up to solve that.
This amazingly didn't introduce major issues up to now, but resulted
in bogus values in debug logs.
2014-04-18 16:20:31 +02:00
Edward Hervey
da74a23c1d
mpegtsbase: Don't hard-flush the packetizer on discont buffers
...
Doing a hard flush on the packetizer will drop all observations, which
will eventually break push-based seeking (with BYTES segment) since
we won't know where to seek to anymore (new data would always be
considered as the beginning of the stream).
2014-04-18 16:18:01 +02:00
Edward Hervey
3d6265a9f5
mxfdemux: Fix copy/paste error
...
We want to check whether the rate is different. We check changes in
numerator *and* denominator.
CID #1139631
CID #1139642
2014-04-16 16:25:29 +02:00
Edward Hervey
be859d02a6
mxf: Handle fraction parsing failure
...
And properly cleanup/reset the segment before returning on errors
CID #206012
2014-04-16 16:19:47 +02:00
Edward Hervey
fa72b4c870
mxf: Remove useless check
...
a guint will always smaller or equal to the maximum value it can
contain
CID #206049
2014-04-16 16:12:02 +02:00
Vincent Penquerc'h
172c398127
mxf: avoid dereferencing NULL mapping data pointer
...
Also unref buffers on error, as it seems to be done in one, but
not all, error paths.
The NULL pointer part is Coverity 206112
https://bugzilla.gnome.org/show_bug.cgi?id=727889
2014-04-16 16:08:38 +02:00
Andoni Morales Alastruey
78acb90a80
jp2kdecimator: fix maybe-uninitialized compiler error
2014-04-11 12:29:17 +02:00
Edward Hervey
998e19896b
mpegtsmux: Remove unneeded unref
...
packet_buffer has already been cleared in all code paths leading
to this point.
CID #1199696
2014-04-11 11:34:26 +02:00
Santiago Carot-Nemesio
7d97a4b20b
liveadder: fix memory leak querying sink caps
...
https://bugzilla.gnome.org/show_bug.cgi?id=727894
2014-04-10 01:22:33 +01:00
Vincent Penquerc'h
931150cb91
Revert "tsmux: catch alloc failure"
...
Turns out glib aborts on allocation failure, so this is pointless.
We'll just ignore Coverity warnings on such constructs.
This reverts commit d347809a82
.
2014-04-09 16:01:43 +01:00
Vincent Penquerc'h
747542762e
asfmux: remove unnecessary test
...
We've been dereferencing that object like there's no tomorrow
in the code just before that.
Coverity 206369
2014-04-09 15:41:11 +01:00
Vincent Penquerc'h
c6a9c1d878
asfmux: remove stray gst_buffer_unmap on error path
...
A previous commit removed the map, and the unmap on the main
code path, but not the one on the error path.
Coverity 1139930
2014-04-09 15:39:33 +01:00
Vincent Penquerc'h
336767d779
autoconvert: remove dead code
...
Those events were previously taken from a cached events list,
which was removed during the port to 0.11, but this bit stayed.
Coverity 1139684
2014-04-09 15:28:05 +01:00
Vincent Penquerc'h
c3a2e0ad97
camerabin2: remove unneeded check
...
A message may not be NULL in the message handling function
(and nothing there sets it to NULL).
Coverity 1139848
2014-04-09 15:24:13 +01:00
Vincent Penquerc'h
75c09f8d03
compare: special case empty regions with 1 SSIM to avoid dividing by 0
...
Coverity 1139689, 1139688
2014-04-09 15:21:20 +01:00
Vincent Penquerc'h
93b1504945
inter: remove dead code
...
Coverity 1139666
2014-04-09 15:09:25 +01:00
Vincent Penquerc'h
c5cb2fbe96
liveadder: remove dead code
...
From the 0.11 port
Coverity 1139676
2014-04-09 15:03:45 +01:00
Vincent Penquerc'h
f255422ec2
mpegtsdemux: catch prev-not-found when inserting in the group list
...
While this probably should never happen if callers are well behaved,
this avoids a crash if it does. With a warning about it. Unsure if
it'd be better to not add at all, but it should not happen...
Coverity 1139713
2014-04-09 14:13:46 +01:00
Vincent Penquerc'h
d47727c032
mpegtsmux: guard against _dispose being called mutiple times
...
_dispose calls _reset, so we need to make sure _reset handles
already NULLed fields.
Coverity 1139843
2014-04-09 13:53:13 +01:00
Vincent Penquerc'h
d6dc066527
tsmux: prevent possible double free on error path
...
Spotted while looking at a Coverity issue in the area.
2014-04-09 13:44:59 +01:00
Vincent Penquerc'h
d347809a82
tsmux: catch alloc failure
...
While it will probably not trigger, it should silence a Coverity
warning about the fail code path testing for NULLness before
freeing, where the buffer was already dereferenced. It seems
safest to keep that test, in case future goto fail statements
happen to have a NULL buffer there.
Coverity 1139851
2014-04-09 13:44:45 +01:00
Vincent Penquerc'h
744c58d71b
speed: make duration query able to convert bytes to time
...
It was only querying in time, but then trying to use dead bytes
to time conversion code.
Coverity 1139677
2014-04-09 11:15:10 +01:00
Mohammed Sameer
0450e8f53f
camerabin: add any feature to viewfinderbin static pad template
...
https://bugzilla.gnome.org/show_bug.cgi?id=727857
2014-04-09 08:56:01 +02:00
Mohammed Sameer
b261374462
camerabin: report an error if we fail to link vfsrc and viewfinder queue
...
https://bugzilla.gnome.org/show_bug.cgi?id=727855
2014-04-09 08:54:07 +02:00
Tim-Philipp Müller
39dc1f0ebb
mxfdemux: guard against NULL material track
...
Just to be on the safe side.
2014-04-08 16:53:41 +01:00
Jan Schmidt
982104d764
dvbsuboverlay: Avoid infinite loops on short data
2014-04-09 01:10:21 +10:00
Tim-Philipp Müller
6e764e5b11
mxfdemux: implement simple KEY_UNIT seeking
...
If a KEY_UNIT seek was requested, adjust segment
start to position of the key frame.
2014-04-08 14:37:34 +01:00
Tim-Philipp Müller
4898a51afe
mxfdemux: fix seeking, send data starting from a key unit
...
Fixes multiple seeking issues. When doing ACCURATE or normal
non-KEYUNIT seeks, mxfdemux would just send data from the
edit unit that covered the seek position, whether that's
a keyframe or not. Decoders would only output things from
the next keyframe then, which means there's a gap between
the start of the segment and the first decoded data in
some cases. In combination with gst-editing-services this
might result in a frozen picture for the duration of that
gap at the beginning (if videorate fixes up the first
buffer's start timestamp to cover the entire gap), or
a black frame (if no videorate is used and videomixer
fills the gap). Also fixes A/V sync issue when requesting
a KEYUNIT seek.
2014-04-08 13:26:49 +01:00
Vincent Penquerc'h
ff11934bbf
festival: fix fd leak
...
Coverity 1139831
2014-04-08 12:20:40 +01:00
Edward Hervey
2b5d043654
speed: Clarify passthrough in switch statement
...
We do want the caps event to be forwarded downstream
CID #1139754
2014-04-08 11:26:38 +02:00
Edward Hervey
0ae5c15bf8
mpegtsmux: Initialize helper mpegts library
...
We now use that library, we need to initialize it so that debug
categories (amongst other things) get properly initialized
2014-04-08 07:47:15 +02:00
Vincent Penquerc'h
8e580ea6f1
mxf: fix stop date parsing using the wrong input
...
Coverity 1139645
2014-04-07 13:54:50 +01:00
Vincent Penquerc'h
f06e18595a
jp2kdecimator: fix copy/paste errors in expressions
...
Correct formulae found in ITU T.800, B.12.1.[345]
Coverity 1139649, 1139650, 1139651
2014-04-07 13:54:47 +01:00
Sebastian Dröge
22b6ec3b2f
mpegtsmux: Require parsed/framed input for most of the supported formats
...
https://bugzilla.gnome.org/show_bug.cgi?id=719519
2014-04-02 23:49:37 +02:00
Sebastian Dröge
7b2cfa6303
mpegtspacketizer: Fix typo in debug output
2014-03-29 10:33:45 +01:00
Sebastian Dröge
10ffa089a0
h264parse: Copy over DISCONT flag from input buffers
2014-03-29 10:33:45 +01:00
Sebastian Dröge
986c8782e4
tsdemux: Push next buffer after a discont with the DISCONT flag
2014-03-29 10:33:45 +01:00
Sebastian Dröge
264d7dbd89
tsdemux: Drain remaining data on disconts
2014-03-29 10:33:45 +01:00
Sebastian Dröge
d986d24d41
mpegtsbase: Flush if we receive a discont buffer
2014-03-29 10:33:45 +01:00
Sebastian Dröge
11bc356ce7
tsdemux: Don't dereference NULL if flushed before a program was selected
2014-03-29 10:33:45 +01:00
Sebastian Dröge
ba114b6b22
tsdemux: Ensure that all pending data is pushed even if the stream was not activated before
...
gst_ts_demux_push_pending_data() will check if it now can activate the
stream and add the pad, we don't have to check that ourselves.
Fixes playback of very short MPEG TS files.
2014-03-29 10:33:45 +01:00
Sebastian Dröge
0cecb44813
mpegtsbase: Fix pull mode scanning for PCR on small files
...
If a file does not contain 5 PCRs until it is EOS, or does not
contain more than 655360 bytes the PCR scanning algorithm just
aborted.
2014-03-29 10:33:45 +01:00
Jan Schmidt
d232881105
dvbsuboverlay: Clarify confusing debug message
...
The message is describing the number of bytes remaining for
parsing, not 'missing'.
2014-03-25 21:40:11 +11:00
Jan Schmidt
bfe2994101
tsdemux: Fix mpegts_packetizer_set_current_pcr_offset()
...
When adjusting the PCR offset of groups, adjust the correct group
entry from the list - not the current group repeatedly.
2014-03-25 21:40:11 +11:00
Jan Schmidt
a99164811c
dvbsuboverlay: Remove warning for 2-bit and 8-bit subpictures
...
Both 2-bit and 8-bit mode now seem fine, so remove the warning
messages about them
2014-03-25 21:40:11 +11:00
Jan Schmidt
0a19be4464
dvbsuboverlay: Fix 8-bit subpicture rendering.
...
Fix 2 small flaws handling 8-bit subpictures that makes
my one test file work.
2014-03-25 21:40:10 +11:00
Edward Hervey
7b15072714
dvbsuboverlay: Don't forward text gap events downstream
...
That gap is only for the subtitle stream and not for the video stream.
2014-03-18 15:18:38 +01:00
Matthieu Bouron
19724f6ece
dvbsuboverlay: handle video/x-raw(ANY) if downstream supports the GstVideoOverlayCompositionMeta API
...
https://bugzilla.gnome.org/show_bug.cgi?id=726463
2014-03-16 18:00:53 +01:00
Matthew Waters
4bdf5f336a
move gl elements to ext subdirectory
2014-03-16 11:23:16 +01:00
Matthew Waters
a8ce124628
[905/906] Add GL context sharing support for non-gstgl elements
2014-03-15 18:37:07 +01:00
Matthew Waters
ab963a755d
[898/906] glimagesink: add an other-context property
...
Allows applications to provide us with an OpenGL context with which
to share with.
2014-03-15 18:37:07 +01:00
Matthew Waters
687ac78290
[886/906] fixup a memory leak of the context in the GLTextureUploadMeta path
...
gst_structure_get returns a reference to the object and we asked
for another with gst_object_replace.
https://bugzilla.gnome.org/show_bug.cgi?id=724816
2014-03-15 18:37:06 +01:00
Matthew Waters
49307fefd6
[882/906] port glcolorscale to GLES2
2014-03-15 18:37:06 +01:00
Matthew Waters
af3a68db7d
[880/906] glimagesink: remove unused stored_buffer field
...
It has the potential to cause deadlocks.
2014-03-15 18:37:06 +01:00
Matthew Waters
75825b3626
[879/906] build: don't add X_CFLAGS to CFLAGS
...
It should already be included if needed inside GL_CFLAGS
2014-03-15 18:37:06 +01:00
Matthew Waters
0c1a77ca6c
[874/906] filter: implement draw_texture for GLES2
...
(taken from gleffects)
2014-03-15 18:37:06 +01:00
Matthew Waters
4386cc1c6b
[873/906] upload: use GstVideoInfo for choosing the format
2014-03-15 18:37:05 +01:00
Matthew Waters
f798d9c9b7
[855/906] upload: add support for GstVideoGLTextureUploadMeta
2014-03-15 18:37:04 +01:00
Matthew Waters
42701927f0
[854/906] use the allocation query to propogate GstGLContext
...
uses the GstVideoGLTextureUploadMeta api type for the query
2014-03-15 18:37:04 +01:00
Matthew Waters
636d307715
[853/906] display: remove _{set,get}_context
...
A GstGLDisplay doesn't need a GstGLContext and its use
was cause a reference cycle
2014-03-15 18:37:04 +01:00
Matthew Waters
79260ff8f9
[852/906] use GstContext for GstGLDisplay propogation
...
implements the hooks required in GstElement::set_context and the context query
2014-03-15 18:37:04 +01:00
Matthieu Bouron
f230ec14ba
[851/906] deinterlace: fix texture coordinates computation
...
Fixes a regression introduced by fffdcbdd3dde437e10cf6e1b5e40c6958d41e6c1
https://bugzilla.gnome.org/show_bug.cgi?id=720826
2014-03-15 18:37:04 +01:00
Matthew Waters
86c18b294a
[849/906] testsrc: use _context_get_gl_api
2014-03-15 18:37:04 +01:00
Matthew Waters
63ccd94d1a
[844/906] mixer: give access to the pads at render time
...
allows us to move the video frame mapping somewhere else
2014-03-15 18:37:04 +01:00
Wang Xin-yu (王昕宇)
665d58b322
[840/906] glvideomixer: Use correct coordinates after the switch from GL_TEXTURE_RECTANGLE to GL_TEXTURE_2D
...
https://bugzilla.gnome.org/show_bug.cgi?id=720177
2014-03-15 18:37:04 +01:00
Matthew Waters
b90d824626
[838/906] gl: Use GL_TEXTURE_2D instead of GL_TEXTURE_RECTANGLE
...
We create our textures (in Desktop GL) with GL_TEXTURE_RECTANGLE,
vaapi attempts to bind our texture to GL_TEXTURE_2D which throws a
GL_INVALID_OPERATION error and as thus, no video.
Also, by moving exclusively to GL_TEXTURE_2D and the npot extension
we also remove a difference between the Desktop GL and GLES2 code.
https://bugzilla.gnome.org/show_bug.cgi?id=712287
2014-03-15 18:37:03 +01:00
Julien Isorce
c775bf584b
[831/906] glimagesink: avoid to overload the drawer if already drawing
...
Especially if the application calls gst_video_overlay_expose a lot
2014-03-15 18:37:03 +01:00
Matthew Waters
7f3ad8f445
[830/906] glvideomixer: Add a new simple glvideomixer element
...
that simply uses glBlendFunc to blend each imput frame
https://bugzilla.gnome.org/show_bug.cgi?id=710714
2014-03-15 18:37:03 +01:00
Matthew Waters
2313cea524
[819/906] make gen_texture/del_texture threadsafe
...
Use stack allocated instead of static variables
Conflicts:
gst-libs/gst/gl/gstglutils.c
2014-03-15 18:37:02 +01:00
Matthew Waters
225d372847
[817/906] make the state change test pass
2014-03-15 18:37:02 +01:00
Matthew Waters
d10ccfb795
[815/906] fix some refcount errors
2014-03-15 18:37:02 +01:00
Matthew Waters
65b6872413
[813/906] unref the pool on shutdown
2014-03-15 18:37:02 +01:00
Matthew Waters
9b22b0e0ba
[812/906] move the GL vtable from GstGLDisplay to GstGLContext
...
Conflicts:
tests/check/libs/gstglcontext.c
2014-03-15 18:37:02 +01:00
Julien Isorce
6497947186
[804/906] rpi: call bcm_host_init in plugin_init
2014-03-15 18:37:01 +01:00
Julien Isorce
2d876dfb70
[800/906] glimagesink: avoid to draw texture while releasing stored buffer
...
Spoted by generic/cube example with ClientDrawCallback set to
returning TRUE (it means drawing as fast as possible)
2014-03-15 18:37:01 +01:00
Julien Isorce
940151bcd6
[799/906] glimagesink: fix asynchrone drawing
...
Simplify gst_glimage_sink_redisplay which is there
only to ask the window for a redraw.
Put a lock to make sure we are not realeasing
the stored buffer while still drawing the corresponding
texture
2014-03-15 18:37:01 +01:00
Matthew Waters
cf5e910d9b
[793/906] add a GstGLContext object that will be the basis of OpenGL contexts
...
At the moment it just sits in between GstGLDisplay and GstGLWindow
performing some of the stuff that GstGLWindow used to do.
2014-03-15 18:37:01 +01:00
Matthew Waters
b5d595f402
[792/906] build: use our own in tree headers before system ones
...
allows us to develop against the tree rather than what may be installed
2014-03-15 18:37:01 +01:00
Julien Isorce
44d82d6aad
[790/906] glimagesink: retrieve window only when clientDrawCallback return true
2014-03-15 18:37:01 +01:00
Tonu Jaansoo
e45dfb2f93
[787/906] gl: The GLSL rectangle resampler does not always work with int tex coords
...
Use floats instead.
2014-03-15 18:37:00 +01:00
Julien Isorce
2952b923aa
[784/906] gloverlay: add G_BEGIN/END declaration
2014-03-15 18:37:00 +01:00
Sebastian Dröge
337b342ff7
[783/906] glimagesink: Fix format string warning
2014-03-15 18:37:00 +01:00
Matthew Waters
f590a1ce23
[780/906] up/download: check return values
...
So we fail properly
2014-03-15 18:37:00 +01:00
Mathieu Duponchelle
b26c4dbe4e
[773/906] glfilters: Mark writable-only properties as readable as well
...
https://bugzilla.gnome.org/show_bug.cgi?id=704429
2014-03-15 18:37:00 +01:00
Mathieu Duponchelle
8adb0ea713
[772/906] glfilters: Mark them as Video filters in their classification
...
It makes it possible for applications like pitivi to
use them.
https://bugzilla.gnome.org/show_bug.cgi?id=704429
2014-03-15 18:36:59 +01:00
Sebastian Dröge
20cb4fb038
[771/906] gl: Some less long/ulong/gulong usage
2014-03-15 18:36:59 +01:00
Sebastian Dröge
abdcb4a51b
[768/906] gltestsrc: Fix usage of FBO API
2014-03-15 18:36:59 +01:00
Sebastian Dröge
d64c1aab28
[767/906] glimagesink: Remove GValue usage for fraction handling
2014-03-15 18:36:59 +01:00
Sebastian Dröge
f6f0c4ddad
[762/906] glimagesink: Fix some memory leaks and properly set up the buffer pool
2014-03-15 18:36:59 +01:00
Sebastian Dröge
2b6e54d416
[752/906] glwindow: Add destroy notifies for the data of the callbacks
...
And actually call the close callback when the window is closed.
2014-03-15 18:36:58 +01:00
Sebastian Dröge
7b649027bc
[737/906] glimagesink: Request and set the window handle much earlier
2014-03-15 18:36:57 +01:00
Sebastian Dröge
6a53e01544
[736/906] glimagesink: Give MARGINAL rank to be able to autoplug it if nothing else is available
2014-03-15 18:36:57 +01:00
Sebastian Dröge
a5a46aa833
[733/906] gl: Major header and include cleanup
2014-03-15 18:36:57 +01:00
Julien Isorce
dd7e054e2c
[732/906] build: fix repeated typedefs
...
Write forward declarations in another way to avoid
repeated typedefs "error: redefinition of typedef".
Raised when using i686-apple-darwin11-llvm-gcc-4.2
It seems that C apple compiler does not support
C11 feature.
https://bugzilla.gnome.org/show_bug.cgi?id=703885
2014-03-15 18:36:57 +01:00
Sebastian Dröge
19dff69a2e
[729/906] gl: Include config.h everywhere
2014-03-15 18:36:57 +01:00
Matthew Waters
b71a246426
[728/906] glimagesink: fix for gles2
...
https://bugzilla.gnome.org/show_bug.cgi?id=703508
2014-03-15 18:36:57 +01:00
Sebastian Dröge
98cca97840
[719/906] gl: Fix compilation with GLES2
2014-03-15 18:36:56 +01:00
Matthew Waters
11b810fcf5
[718/906] shader: make it possible to unref in the non-GL thread
2014-03-15 18:36:56 +01:00
Matthew Waters
a5b877fb13
[717/906] remove outdated cmake build files
2014-03-15 18:36:56 +01:00
Matthew Waters
c799696b48
[707/906] display: move error_message to utils
2014-03-15 18:36:56 +01:00
Matthew Waters
13067b104c
[704/906] Use gst_object_[un]ref so we can get refcounts in the log
2014-03-15 18:36:56 +01:00
Matthew Waters
dbeb6a911b
[701/906] display: move context creation into window
2014-03-15 18:36:55 +01:00
Matthew Waters
96114e62cb
[699/906] display: remove list of upload and download objects
...
and only create an up/download object when needed.
2014-03-15 18:36:55 +01:00
Matthew Waters
d76a61608d
[698/906] move sink-specific stuff from GstGLDisplay into glimagesink
2014-03-15 18:36:55 +01:00
Matthew Waters
ded3f51592
[694/906] build: add support for static plugins
2014-03-15 18:36:55 +01:00
Matthew Waters
b0c6d98f63
[689/906] bumper: nicer error for no bumpmap file proveded
2014-03-15 18:36:55 +01:00
Matthew Waters
3960306218
[687/906] bumper: error out properly if we cannot load the png file
2014-03-15 18:36:55 +01:00
Matthew Waters
8fe4849860
[686/906] filtershader: fix string format compiler warnings
2014-03-15 18:36:54 +01:00
Matthew Waters
25955212b8
[682/906] overlay: fix video-top property
2014-03-15 18:36:54 +01:00
Matthew Waters
d77828d2cf
[680/906] overlay: tentative port to new GstGLFuncs API
2014-03-15 18:36:54 +01:00
Matthew Waters
0f6bf776c5
[679/906] opengl: fix plugins not being registered when they should be
2014-03-15 18:36:54 +01:00
Matthew Waters
fe5f4429cc
[667/906] filtercube: fix for gles2 compilation
2014-03-15 18:36:53 +01:00
Matthew Waters
3d1aa836bf
[666/906] sobel: port for non-glew
2014-03-15 18:36:53 +01:00
Matthew Waters
8bf203f536
[665/906] mosaic: fix a couple of assertions
2014-03-15 18:36:53 +01:00
Matthew Waters
e55b2ae671
[664/906] filtershader: improve error checking
2014-03-15 18:36:53 +01:00
Matthew Waters
d07fb25841
[663/906] filtershader: port to non-glew
2014-03-15 18:36:53 +01:00
Matthew Waters
d255b55115
[662/906] laplacian: port to non-glew
2014-03-15 18:36:53 +01:00
Matthew Waters
753dfca775
[661/906] glass: port to non-glew + shader matrices
2014-03-15 18:36:53 +01:00
Matthew Waters
0497326a43
[660/906] cube: port for non-glew
2014-03-15 18:36:53 +01:00
Matthew Waters
bd80d4e9cc
[659/906] blur: port for non-glew
2014-03-15 18:36:53 +01:00
Matthew Waters
a61423c7a2
[657/906] filterapp: port to non-glew
2014-03-15 18:36:53 +01:00
Matthew Waters
b97fb42b30
[656/906] bumper: use DrawElements for semi-compatability with ES
...
also GL_QUADS isn't available with ES contexts
2014-03-15 18:36:53 +01:00
Matthew Waters
0fa88c5219
[654/906] differencematte: port to non-GLEW
2014-03-15 18:36:53 +01:00
Matthew Waters
0ed85f3d13
[653/906] deinterlace: port to non-GLEW + arrays
2014-03-15 18:36:53 +01:00
Matthew Waters
3ceb7949a8
[652/906] bumper: port to non-GLEW + arrays
2014-03-15 18:36:53 +01:00
Matthew Waters
5b88246a05
[649/906] effects: fixes for mirror(1) and squeeze(2) producing black
2014-03-15 18:36:52 +01:00
Matthew Waters
7b03a572d9
[647/906] remove dependecy on glew
2014-03-15 18:36:52 +01:00
Matthew Waters
fa3c3b8434
[642/906] add gstglconfig.h for apps to find out what our capabilites are
...
ie libgstgl can be compiled with any combination of opengl/gles2
2014-03-15 18:36:52 +01:00
Matthew Waters
6aa6212419
[632/906] remove stray )
...
The rest is indent stuff from the stray )
2014-03-15 18:36:51 +01:00
Matthew Waters
1fc0f14d44
[628/906] shader filter: don't do anything if we don't have a shader file
2014-03-15 18:36:51 +01:00
Matthew Waters
07f7bbc0cf
[626/906] fix build failure from undefined macro
2014-03-15 18:36:51 +01:00
Matthew Waters
cc8e54541b
[624/906] OPENGL_ES2 => HAVE_GLES2 and add HAVE_OPENGL
...
use GstGLAPI to determine which code paths to execute.
perform some cleanups
2014-03-15 18:36:51 +01:00
Matthew Waters
c080c6c910
[612/906] remove GNUstep makefiles
2014-03-15 18:36:50 +01:00
Matthew Waters
1984fa3b7f
[606/906] determine the GL platform to use at runtime
...
- Make GstGLWindow subclassablerather than specified at compile time.
- Add GstGLWindowX11 for x11 windows and two subclasses, GstGLWindowX11GLX
and GstGLWindwX11EGL for GLX and EGL repectively. (win32 and cocoa
ports to come)
- Also cleanup GL library detection in configure.ac
2014-03-15 18:36:50 +01:00
Matthew Waters
c52b138a8d
[604/906] gst_element_class_set_details_simple() => gst_element_class_set_metadata()
2014-03-15 18:36:50 +01:00
Matthew Waters
93f7e993ad
[603/906] update FSF address
2014-03-15 18:36:50 +01:00
Matthew Waters
5d10051e03
[596/906] colorscale: port over to filter base class
2014-03-15 18:36:49 +01:00
Matthew Waters
30ec55853e
[595/906] update for filter API change
...
gleffects needed a similar change
2014-03-15 18:36:49 +01:00
Matthew Waters
aef7f01a62
[593/906] testsrc/imagesink: update for up/download API changes
2014-03-15 18:36:49 +01:00
Matthew Waters
17425aaaac
[589/906] Revert "GLColorscale: convert to a bin of glupload ! gldownload"
...
The elements no longer exist so we have to do something different
2014-03-15 18:36:49 +01:00
Matthew Waters
fc49c5d25f
[588/906] mosaic: update for mixer changes and convenience API
2014-03-15 18:36:49 +01:00
Matthew Waters
e7b918efbc
[585/906] gltestsrc: update for new GLDownload in libs
2014-03-15 18:36:48 +01:00
Matthew Waters
730b8af863
[584/906] glimagesink: update for new GLUpload object in libs
2014-03-15 18:36:48 +01:00
Matthew Waters
d9d8946351
[583/906] deinterlace: change for new API
...
also allow elements to call the _filter_texture vfunc if they want
2014-03-15 18:36:48 +01:00
Matthew Waters
79ed68478f
[582/906] filters: changes for new API
2014-03-15 18:36:48 +01:00
Matthew Waters
338bb1871b
[577/906] remove upload and download elements from the build system
2014-03-15 18:36:48 +01:00
Matthew Waters
d163ecce23
[572/906] remove upload and download elements
...
to be replaced by upload and download in memory
2014-03-15 18:36:48 +01:00
Matthew Waters
0f2f42e4e8
[570/906] remove the requirement for VideoMeta to be present on non-GL buffers
2014-03-15 18:36:48 +01:00
Matthew Waters
9fb3e60387
[569/906] differencematte: prevent double unref of shader and midtexture
2014-03-15 18:36:48 +01:00
Matthew Waters
beff5a3710
[566/906] effects: avoid using tanh in sin_fragment
...
It produces weird results on nouveau.
Provide an alternative implementation with (1-sinh)*cosh
2014-03-15 18:36:47 +01:00
Matthew Waters
96163f1589
[565/906] effects: fix shader compilation with mesa drivers
2014-03-15 18:36:47 +01:00
Matthew Waters
3f94f31c3d
[563/906] readd support for hanging GL pipelines e.g. ... ! gleffects ! fakesink
2014-03-15 18:36:47 +01:00
Matthew Waters
729115c515
[558/906] add missing includes for _post_missing_element_message in glcolorspace
2014-03-15 18:36:47 +01:00
Matthew Waters
b227398c0c
[557/906] Fix plugin define and remove warning
2014-03-15 18:36:47 +01:00
Matthew Waters
c7e43349e4
[556/906] GLColorscale: convert to a bin of glupload ! gldownload
2014-03-15 18:36:47 +01:00
Matthew Waters
ce6c6b5065
[555/906] Make the query for a GstGLDisplay a pad peer query
...
Allows the query to pass through bin boundaries and makes it possible for
arbitrary gl elements to be placed in bins.
2014-03-15 18:36:47 +01:00
Matthew Waters
35983bcd88
[553/906] GstGLFilterShader: update for GstGLMeta
2014-03-15 18:36:47 +01:00
Matthew Waters
61e2266d16
[552/906] GstGLFilterApp: update for GstGLMeta
2014-03-15 18:36:47 +01:00
Matthew Waters
8ae1fd34e0
[551/906] GstGLOverlay: fix loading of non-square overlays
...
libjpeg complains about "Application read too {many,few} scan lines" in non-square images
2014-03-15 18:36:47 +01:00
Matthew Waters
b34d014918
[550/906] GstGLOverlay: fix libPNG complaining about unsigned integer being out of range
2014-03-15 18:36:46 +01:00
Matthew Waters
b54f031278
[549/906] GstGLOverlay: update for GstGLMeta
2014-03-15 18:36:46 +01:00
Matthew Waters
7a44219656
[548/906] GstGLDifferenceMatte: update for GstGLMeta
2014-03-15 18:36:46 +01:00
Matthew Waters
02fcc954de
[547/906] GstGLBumper: fix libPNG complaining about invalid png files
...
We failed to inform libPNG that we had already read the header
2014-03-15 18:36:46 +01:00
Matthew Waters
f0035b9a9b
[546/906] GstGLFilterSobel: update for GstGLMeta
2014-03-15 18:36:46 +01:00
Matthew Waters
da4c698a50
[545/906] GstGLBumper: update for GstGLMeta
2014-03-15 18:36:46 +01:00
Matthew Waters
3affb44884
[544/906] fix memory leaks from not g_free()ing string returned by gst_element_get_name
2014-03-15 18:36:46 +01:00
Matthew Waters
3be415e5c9
[541/906] GstGLTestSrc: generate a GLBufferPool instead of a VideoBufferPool in decide_allocation
2014-03-15 18:36:46 +01:00
Matthew Waters
7c0c039933
[540/906] GstGLMosaic: update for GstGLMeta
2014-03-15 18:36:46 +01:00
Matthew Waters
9f51f1721e
[539/906] GstGLImageSink: fold multiple fields into one and use VIDEO_SINK_* for window width/height
...
replace the caps information with a GstVideoInfo
place the window width/height information width VIDEO_SINK
2014-03-15 18:36:46 +01:00
Matthew Waters
84bf052181
[538/906] GstGLDeinterlace: update for GstGLMeta
2014-03-15 18:36:46 +01:00
Matthew Waters
d4045e7699
[537/906] GstGLFilterReflectedScreen: update for GstGLMeta
2014-03-15 18:36:46 +01:00
Matthew Waters
5402a43d80
[536/906] GstGLFilterGlass: update for GstGLMeta
2014-03-15 18:36:46 +01:00
Matthew Waters
a93c464c5b
[535/906] GstGLFilterLaplacian: update for GstGLMeta
2014-03-15 18:36:46 +01:00
Matthew Waters
ddbfe41721
[534/906] GstGLFilterCube: Update for GstGLMeta
2014-03-15 18:36:46 +01:00
Matthew Waters
58c27d8ef2
[533/906] GstGLFilterBlur: update for GstGLMeta
2014-03-15 18:36:46 +01:00
Matthew Waters
9ab50ed175
[531/906] GstGLEffects: update for GstGLMeta
2014-03-15 18:36:45 +01:00
Matthew Waters
ed5deaa29b
[530/906] GstGLUpload: fix video scaling and use GL_UPLOAD_CAPS
2014-03-15 18:36:45 +01:00
Matthew Waters
d03ffe867d
[529/906] GstGLDownload: fix video scaling and use GL_DOWNLOAD_CAPS
2014-03-15 18:36:45 +01:00
Matthew Waters
65c0afe557
[526/906] GstGLTestSrc: update for 1.0
...
implement decide_allocation
rename push_src_create to _fill
use GstVideoInfo to convert times
make use of GstGLMeta and friends
2014-03-15 18:36:45 +01:00
Matthew Waters
ce3b50484f
[525/906] GstGLDownload: add allocation methods and use GstGLMeta
...
make GstGLDownload work with the new GstGLMeta and friends
2014-03-15 18:36:45 +01:00
Matthew Waters
3d7788dabb
[523/906] update for meta API changes
2014-03-15 18:36:45 +01:00
Matthew Waters
08349cff6d
[519/906] GstGLUpload: implement the allocation funcs and use GstGLMeta
...
make use of the new GstGLMeta, GstGLMemory and GstGLBufferPool objects
2014-03-15 18:36:45 +01:00
Matthew Waters
4d7bb47b75
[518/906] GstGLImageSink: add propose_allocation impl and use GstGLMeta
...
make use of GstGLMeta and GstGLMemory
2014-03-15 18:36:45 +01:00
Matthew Waters
71c6aae707
[513/906] Remove GstGLBuffer (to be replaced by GstGLMeta)
2014-03-15 18:36:44 +01:00
Matthew Waters
d39eb40a40
[510/906] GstGLImageSink: update for 1.0
2014-03-15 18:36:44 +01:00
Matthew Waters
590c3f4060
[508/906] GstGLDownload: update for 1.0
2014-03-15 18:36:44 +01:00
Matthew Waters
00c11d955e
[507/906] GstGLTestSrc: update for 1.0
2014-03-15 18:36:44 +01:00
Matthew Waters
42127be707
[506/906] GstGLUpload: update for 1.0
2014-03-15 18:36:44 +01:00
Matthew Waters
620d330953
[505/906] GstGLColorscale: update for 1.0
2014-03-15 18:36:44 +01:00
Matthew Waters
d66bd69b36
[503/906] Rename GST_BOILERPLATE_* to G_DEFINE_TYPE_* and move _base_init into _class_init
2014-03-15 18:36:44 +01:00
Matthew Waters
6f2acb94c6
[502/906] Update versioning for gstreamer 1.0
...
Renames GST_MAJORMINOR to GST_API_VERSION in build files
removes -lgstinterfaces from _LDADD flags
2014-03-15 18:36:44 +01:00
Julien Isorce
a9d4210388
[499/906] examples: fix build on MacOSX
2014-03-15 18:36:43 +01:00
Julien Isorce
0c7080e7a1
[498/906] gldisplay: don't pass non-constant strings as printf format strings
...
Fixes 'format not a string literal and no format arguments' on darwin
2014-03-15 18:36:43 +01:00
Julien Isorce
865e431a75
[496/906] cmake build: add path to config.h on APPLE
2014-03-15 18:36:43 +01:00
Julien Isorce
7e45f26a21
[494/906] cmake build: use config.h from win32/common and add some guidelines
2014-03-15 18:36:43 +01:00
Tim-Philipp Müller
5b9e4b8282
[493/906] glfiltershader: fix crash when loading shader file
...
Just use g_file_get_contents() instead of home-made file loading.
Fixes two issues - one is that we should pass "r" to fopen and
not O_RDONLY, the other is that an incorrect variable was used
to read the file length, leading to an empty shader file.
Spotted by: Wang Xin-yu (王昕宇) <comicfans44@gmail.com>
https://bugzilla.gnome.org/show_bug.cgi?id=702844
https://bugzilla.gnome.org/show_bug.cgi?id=702845
Conflicts:
gst/gl/gstglfiltershader.c
2014-03-15 18:36:43 +01:00
Julien Isorce
052c23c3c5
[491/906] glES2.0: properly fails if driver/kernel inconsistency
2014-03-15 18:36:43 +01:00
Julien Isorce
2394987226
[490/906] gldisplay: error out instead of g_assert
2014-03-15 18:36:43 +01:00
Julien Isorce
20ac2cc4aa
[489/906] glimagesink: pixel-aspect-ratio property now returns "1/1" by default
...
Previously it was not set
Fix bug #671734 (compatibility with Totem)
2014-03-15 18:36:43 +01:00
Julien Isorce
b88351ad0c
[488/906] libvisual-gl: full compatibility with projectM-libvisual if libprojectM >= 2.0.1
...
Fix bug #310775
2014-03-15 18:36:43 +01:00
Sebastian Dröge
6bb3f66c42
[487/906] gl: Fix compiler warnings
...
'if statement has empty body', which were real bugs and
'comparison of unsigned expression < 0 is always false', which was
only an unneeded comparison.
2014-03-15 18:36:43 +01:00
Julien Isorce
5091066426
[483/906] glelements: do not leak parent when using gst_pad_get_parent
2014-03-15 18:36:43 +01:00
Julien Isorce
f639d6096d
[481/906] feature checking: error out instead of doing nothing if an OpenGL feature is not present
...
Fix bug #572767
2014-03-15 18:36:42 +01:00
Julien Isorce
9e535a0410
[480/906] win32 builds: add glshader filter sources to vs9 and codeblocks
...
Also fix some warnings from msvc9 and mingw-3.4.5
2014-03-15 18:36:42 +01:00
Julien Isorce
cc70130c6f
[475/906] docs: add glmosaic and glshader to docs
2014-03-15 18:36:42 +01:00
Julien Isorce
533e180ce8
[474/906] build: make libjpeg use conditional
...
Disable gloverlay element if we do not hve libjpeg
2014-03-15 18:36:42 +01:00
Julien Isorce
a7587aa44e
[473/906] cmake build: 2.8 is now required and add jpeg
...
jpeg and png should be optional but our cmake build is still in pre-alpha
2014-03-15 18:36:42 +01:00
Stefan Sauer
aacf88ffa5
[472/906] linpng: make libpng use conditional
...
Disable 3 elements if we don't have libpng.
2014-03-15 18:36:42 +01:00
Luc Deschenaux
268f1a30b2
[471/906] glshader: add dynamic fragment shader filter
...
Also add fragment shader parser
Fix bug #600195
2014-03-15 18:36:42 +01:00
Anthony Violo
7d4de78102
[470/906] gloverlay: add jpeg support
...
Fix bug #636070
2014-03-15 18:36:42 +01:00
Anthony Violo
351a6d9d01
[469/906] gloverlay: manage ratio texture
...
Fix bug #630525
2014-03-15 18:36:42 +01:00
Sebastian Dröge
4732eb4d68
[465/906] gl: Fix variable unused but set compiler warnings
2014-03-15 18:36:41 +01:00
Sreerenj Balachandran
b1166ed0c4
[464/906] glimagesink: Interface query should return FALSE if the supplied interface is not GST_TYPE_X_OVERLAY
2014-03-15 18:36:41 +01:00
Stefan Kost
edefb7826c
[462/906] various: add missing G_PARAM_STATIC_STRINGS flags
...
Canonicalize property names as needed. Includes some gst-indent changes as well :/
2014-03-15 18:36:41 +01:00
Stefan Kost
ac138f74a1
[461/906] xoverlay: require base from git and update to new API
2014-03-15 18:36:41 +01:00
Edward Hervey
b9c68baddc
[460/906] gstgleffects: Fix upper bound of an array iteration
...
10 is above NEEDED_TEXTURES (currently 5) and makes the code consistent
with the rest of the usage in the file.
2014-03-15 18:36:41 +01:00
Julien Isorce
dab7bdf2da
[458/906] glfilterreflectedscreen: fix some warnings from msvc9
2014-03-15 18:36:41 +01:00
Julien Isorce
2c43a348fa
[456/906] glfilter/glmixer/gltestsrc/glupload: throw an element error if no parent bin
...
Fixes bug #602153
2014-03-15 18:36:41 +01:00
Julien Isorce
2b46c87bd0
[455/906] glimagesink: handle pixel-aspect-ratio
2014-03-15 18:36:41 +01:00
Filippo Argiolas
00030c2bdd
[454/906] blur: fix gaussian kernel computation
2014-03-15 18:36:41 +01:00
Filippo Argiolas
17a33cd19a
[453/906] blur: give up some accuracy for speed
...
Settle with 7x7 gaussian convolution kernels, maybe slightly less
accurate than previous 9x9 but fast enough to be able to use it on i915.
About a 20% percent speed gain (again, roughly measured with
videotestsrc and glimagesink sync=false). No noticeable rendering
difference with current effects.
2014-03-15 18:36:41 +01:00
Filippo Argiolas
a9aa0ab2ee
[452/906] sin: get rid of hls conversion code
...
Get rid of buggy and complicated hls conversion code for the sin effect.
The only thing needed was hue anyway and it is easily calculated using
Preucil formula for rgb to polar coordinates conversion.
Now works on i915 (removed all the IF blocks). Still needs some tuning,
I wonder if it will ever work properly.
2014-03-15 18:36:41 +01:00
Roland Peffer
e2f9424e04
[451/906] glupload: par is already handled in fixate_caps function
...
Fixes bug #593165
2014-03-15 18:36:41 +01:00
Julien Isorce
6c2c3b44ee
[450/906] indent: gstglupload.c
2014-03-15 18:36:41 +01:00
Filippo Argiolas
3d14e9684d
[449/906] sobel: drop unused single pass sobel shader
...
Drop unused sobel shader, if anyone still needs it, git log is your
friend.
2014-03-15 18:36:41 +01:00
Filippo Argiolas
c888188422
[448/906] xray: increase edges visibility
...
Some little fine tuning, still not completely satisfied yet.
2014-03-15 18:36:41 +01:00
Filippo Argiolas
87fda0d867
[447/906] xray: port to the new separable sobel convolution
...
Port xray effect to use the same sobel convolution just used in
glfiltersobel. Now xray too works on i915 (a bit slow).
2014-03-15 18:36:40 +01:00
Filippo Argiolas
021a28657d
[446/906] blur: forgot to add all the changes in previous commit
2014-03-15 18:36:40 +01:00
Filippo Argiolas
556b1b79e4
[445/906] blur: use draw_texture from glfilter
2014-03-15 18:36:40 +01:00
Filippo Argiolas
ac190bc460
[444/906] laplacian: precalculate coordinates
...
Precalculate coordinates to avoid unneeded texture indirections.
Now laplacian works on i915.
2014-03-15 18:36:40 +01:00
Filippo Argiolas
270ce448e4
[443/906] sobel: move some highly duplicated code into glfilter
...
Add a new convenience function in GstGLFilter that just draws an input
texture to a target texture using a simple shader with just a "tex"
uniform sampler.
Move draw_texture from glfiltersobel to glfilter. Still need to update
other plugins to this.
2014-03-15 18:36:40 +01:00
Filippo Argiolas
b3c4eb4c61
[442/906] blur: optimize coordinates calculations
...
Save 28 instructions on i915 (mainly redundant MOVs) and gain a 25%
(roughly measured with videotestsrc and glimagesink sync=false) speed
bump
2014-03-15 18:36:40 +01:00
Filippo Argiolas
5fd66383ab
[441/906] sobel: convolve only luma
...
Rework Sobel a little bit again making it work as the old one:
1. desaturate input texture
2. calculate horizontal convolution for x gradient and vertical
convolution for y gradient at the same time (halves the number of
needed texture lookups)
3. store results in a single texture (red and green channel)
4. calculate remaining convolution (same as above switching vertical and
horizontal)
5. calculate length of gradient using red and green as x and y
components.
Optimize wherever possible, store kernels as constants in the shaders,
remove unneeded uniforms. Restore invert property carefully avoiding
using IF.
Still not sure if "full color" convolution will be needed, glfiltersobel
is to be intended as a demo filter and xray, the only effect which uses
sobel only needs edge intensity. Dropping it for now.
2014-03-15 18:36:40 +01:00
Filippo Argiolas
49df4dca3c
[440/906] sobel: implement sobel filter using separable kernels
...
Reimplement sobel in a multipass fully separated convolution:
- calculate x gradient map convolving first horizontally with blurring
kernel and then vertically with differentiating kernel
- calculate y gradient map convolving first vertically with blurring
kernel and then horizonally with differentiating kernel
- calculate length of the gradient vector
Particular care was needed with normalization of the blurring kernel and
with grey level offset of the differentiating one to prevent overflow of
rgb values from the [0.0,1.0] range in intermediate passes.
Now works on i915.
2014-03-15 18:36:40 +01:00
Filippo Argiolas
002f069962
[439/906] sobel: get rid of #version 120 dependent array constructors
2014-03-15 18:36:40 +01:00
Pierre Pouzol
f8871ff33a
[438/906] glfilterreflectedscreen: improve behavior and add some properties
...
Fixes bug #612163
2014-03-15 18:36:40 +01:00
Julien Isorce
7660fcbd30
[437/906] glfilterreflectedscreen: remove unused code (copied/pasted from glfilterglass)
2014-03-15 18:36:40 +01:00
Julien Isorce
28a11181c8
[436/906] gleffectssources: fix some warnings from msvc9
2014-03-15 18:36:40 +01:00
Julien Isorce
a1cd1cdc69
[435/906] GNUStep build: add glfilterreflectedscreen sources
2014-03-15 18:36:40 +01:00
Pierre Pouzol
8c9500e9d6
[434/906] glfilterreflectedscreen: forgot to add sources
2014-03-15 18:36:40 +01:00
Pierre Pouzol
59b9cc9ebd
[433/906] glfilterreflectedscreen: add new OpenGL Reflected Screen filter
...
Fixes bug #612163
2014-03-15 18:36:40 +01:00
Filippo Argiolas
0cae67172a
[430/906] convolution: save some indirection grouping math and sampling
...
Thanks to Eric Anholt I've finally understood (at least I hope) how to
count texture indirections and save up some. Texture sampling dependent
on the result of some math counts as an indirection phase. Grouped
texture lookups with no math involved count as a single indirection.
Math on the coordinates count as indirection.
So the best thing is to group all the math involving coordinates and
then do all the lookups.
This saves enough indirections to make glfilterblur and glow effect
work, albeit a bit slowly, on i915.
2014-03-15 18:36:39 +01:00
Filippo Argiolas
e7d083fcc0
[429/906] laplacian: remove unused norm_const and norm_offset uniforms
...
Remove unused uniforms from the laplacian filter. Also remove if
kernel[i] != 0 checks so that it compiles where IF is not available.
Again, big thanks to Eric Anholt for the hints.
2014-03-15 18:36:39 +01:00
Eric Anholt
2c905bda24
[428/906] laplacian: Avoid using GLSL 1.20 features in a non-#versioned shader.
...
Fixes compile on Mesa.
2014-03-15 18:36:39 +01:00
Filippo Argiolas
b59d050e84
[427/906] rgb_to_curve: save up a texture indirection
...
Apparently assigning gl_TexCoord to a temp count as an indirection.
Using it directly avoids it and limits indirections to four not
exceeding i915 limit. Now xpro effect works on i915.
2014-03-15 18:36:39 +01:00
Vinson Lee
f6b0a1db7b
[426/906] multiply: fix a compilation error with Apple compiler
...
Fix multiply_fragment_source to compile with Apple GLSL compiler.
https://bugzilla.gnome.org/show_bug.cgi?id=616748
2014-03-15 18:36:39 +01:00
Filippo Argiolas
7ee7688ae8
[425/906] twirl: get rid of polar coordinates conversion
...
Get rid of polar coordinates in the twirl effect. The same can be done
using a rotation matrix, saving alu instructions and, most of all,
avoiding the use of the evil atan() function (which uses IF operators).
Calculate rotation angle in a saner, understandable way.
Works on i915! (Hope it still works elsewhere too as I'm not able to
test at the moment)
2014-03-15 18:36:39 +01:00
Filippo Argiolas
797250d9c2
[424/906] tunnel: get rid of polar coordinates conversion
...
Get rid of polar coordinates in the tunnel effect as the same can easily
be done just clamping the radius and multiplying.
Remove the evil atan() call that uses branching and a lot of unneeded alu
instructions. Now works on i915!
2014-03-15 18:36:39 +01:00
Filippo Argiolas
98752e51da
[423/906] convolution: generate gaussian kernel on the fly
...
Generate a normalized gaussian kernel with given size and standard
deviation on the fly.
Remove "norm_const" uniform from convolution shaders and provide a
normalized kernel instead. Remove norm_offset uniform as it was always
zero, will reintroduce it if really needed in the future. Thanks to Eric
Anholt for suggesting it.
Save some ALU instruction calculating directly the coordinate for
texture lookup instead of summing an offset.
Still exceed maximum indirect texture lookups on i915, the only solution
I see is using a 3x3 kernel.
2014-03-15 18:36:39 +01:00
Filippo Argiolas
e602d818e3
[422/906] convolution: reduce the number of register used
...
Reduce the number of register calculating texture lookup offset on the
fly. It was just a simple sequence, no need to store it in a array.
Fixes maximum number of registers exceeded error with i915. Still
exceed maximum indirect texture lookups and maximum ALU instructions.
Maybe we should gave up some blur goodness and use lightly more little
kernels.
2014-03-15 18:36:39 +01:00
Filippo Argiolas
a3454365fc
[421/906] convolution: don't check kernel[i] to be non zero
...
Apparently saving up some texture lookup for zero kernel elements is
definitely not worth the use of branching. This way convolution
fragment programs also work where IF operator is not supported (tested
on i915 and nouveau). See also discussion on bug #615696 .
Thanks to Eric Anholt for spotting this.
2014-03-15 18:36:39 +01:00
Filippo Argiolas
f979b52e5c
[420/906] blur: use common shader sources
...
Port blur filter to use the common convolution shaders in
gstgleffectssources.c. This reduces code duplication and, incidentally,
the shaders in the common file were already updated to not use array
constructor and to not depend on #version 120.
First step towards bug #615696 fixing.
2014-03-15 18:36:39 +01:00
Filippo Argiolas
fe42e22e84
[419/906] blur: remove horizontal flip
...
Apparently there was some stale horizontal flip function still there
from my summer of code experiments. Remove it.
2014-03-15 18:36:39 +01:00
Filippo Argiolas
4ff22b2c67
[418/906] effects: disable gst-indent in the sources
...
Fix some crazy formatting caused by gst-indent previous runs and disable
the script for this file. The best would be to move shaders into
separate files and load them at runtime or hardcode them at compile
time.
2014-03-15 18:36:39 +01:00
Руслан Ижбулатов
e42b3eddbf
[417/906] glbumper: Use png_sig_cmp() instead of png_check_sig()
...
Fixes bug #613186
2014-03-15 18:36:39 +01:00
Tim-Philipp Müller
f82dd7d5e2
[416/906] gl: use gst_element_class_set_details_simple()
...
Fixes #613371 .
2014-03-15 18:36:39 +01:00
David Hoyt
9a49a81c22
[414/906] glbumper/gldifferencematte/gloverlay: libpng 1.4.x compatible
...
Fix bug #608643
2014-03-15 18:36:39 +01:00
Julien Isorce
8937128d62
[412/906] Cocoa backend: improve support on GNUStep
2014-03-15 18:36:38 +01:00
Julien Isorce
ba4ca3bced
[409/906] gleffects: indent and fix some warnings in ES 2.0 mode
2014-03-15 18:36:38 +01:00
Julien Isorce
e002f92e6d
[408/906] gleffects: start to make it compatible with OpenGL ES 2.0
...
For now only identity, mirror and squeeze effects are available.
Maybe some factorization is needed about compilation shader
before to put the other effects since only a copy/past is needed,
at least until effect number 9: heat.
The effects from 10:sepia to 15:glow require more work.
2014-03-15 18:36:38 +01:00
Julien Isorce
3e1bffc802
[406/906] glimagesink: add a client-data property
...
Also add it to glfilterapp.
Fixes #559131
2014-03-15 18:36:38 +01:00
Julien Isorce
dec44e571b
[404/906] glupload: repair external_opengl_context property
...
qglwtextureshare now works again. In this example,
the pipeline is src ! glupload ! fakesink.
So in this case the glupload element is a sink in
terms of gl chain.
But the problem is still there if the pipeline is
src ! glupload ! glfilter ! fakesink
(it's the case in sdlshare and cluttershare examples)
because since recent changes about how the gstgldisplay
is transmitted to the gl element, the context is usually
created by the sink in terms of gl chain.
A solution would be to also install this property on glfilter.
2014-03-15 18:36:38 +01:00
Julien Isorce
416a4c6161
[402/906] gloverlay: fix some warnings
2014-03-15 18:36:38 +01:00
Anthony Violo
a7a5c7ee8a
[401/906] gloverlay: Added rotate texture
...
fix #601277
2014-03-15 18:36:38 +01:00
Julien Isorce
0ba1945c57
[398/906] gldownload: do not forgot to create the gl context
...
fix #600630
2014-03-15 18:36:38 +01:00
Julien Isorce
621aabe378
[397/906] glmosaic: fix a comparison warning
2014-03-15 18:36:38 +01:00
Julien Isorce
12e0bff437
[396/906] gldifferencematte: fix some warnings from vc9
2014-03-15 18:36:38 +01:00
Filippo Argiolas
d02a585e7b
[395/906] differencematte: fix regressions from gdkpixbuf to libpng migration
...
The background image needs to be scaled to fit current texture size.
Previously this was done by gdk_pixbuf_scale_simple but that's been
removed.
Create a texture from the background pixbuf with correct dimensions and
use interpolation shader to scale it to the right size. Interpolation
fragment shader doesn't have too much sense if all the textures don't
have the same size so this seemed the most natural place to do the
scaling. It could probably be done with some custom texture mapping
outside the shader but it involved more code.
Fixes bug #599883 .
2014-03-15 18:36:37 +01:00
Julien Isorce
aeb793497d
[393/906] glmosaic: for now it's a cube mosaic
...
Also use GPtrArray instead of GArray in glmixer.
And add a pipeline to tests/pieplines
2014-03-15 18:36:37 +01:00
Julien Isorce
ea2962e44f
[392/906] glmosaic: desactivate shader when done
2014-03-15 18:36:37 +01:00
Julien Isorce
144427fe3e
[390/906] remove warnings from vs9
2014-03-15 18:36:37 +01:00
Julien Isorce
42720ef3ff
[388/906] just fix builds and indent
2014-03-15 18:36:37 +01:00
Julien Isorce
db7d436bd8
[387/906] glmixer: add a glmixer base element
...
glmixer can be seen as a glfilter except it handles N requested
sink pads.
Each sink pad and the src pad are video/x-raw-gl.
glmixer is responsible for managing different framerates from inputs.
It uses OpenGL context sharing. It means that each input is in its
own OpenGL context shared together and shared with the OpenGL context
of the ouput gl chain.
Also add a glmosaic which is an example of implementation of glmixer.
For now glmosaic is a cube but it will be fixed in the next commits.
For now the glmixer has some weird behaviours in some configurations
but it will be improved in the next commits.
The autotools builds is temporarly broken since those changes
have been made on win32.
2014-03-15 18:36:37 +01:00
Julien Isorce
65f4d40e6d
[385/906] rewrite the way a gstgldisplay is transmited to the gl elements
...
Before, a gstgldisplay was instancied by the gl src in terms of gl chain.
And then the next element got it through the first gstglbuffer.
Now, this is done though queries.
All glelements get their ref on a gstgldisplay in READY state.
This rewrite is mainly a first step to be able to share OpenGL context hold
by the gstgldisplay using more complex glelements.
For example, with a glvideomixer. The associated gstgldisplay of each gl chain
of the sink pads will share their OpenGL context.
2014-03-15 18:36:37 +01:00
Julien Isorce
3700180345
[382/906] ES2.0: remove warnings
...
Partially fix #593786
2014-03-15 18:36:37 +01:00
Anthony Violo
5fef0569f0
[380/906] gloverlay: can put video over png images
...
Fix bug #595303
2014-03-15 18:36:37 +01:00
Anthony Violo
5943045bf6
[379/906] gloverlay: add support to use RGB png images
...
Previously restricted to RGBA, now gloverlay can also handle a RGB image.
2014-03-15 18:36:37 +01:00
Stefan Kost
1cb459d4d5
[376/906] build: support openGLES on linux via autofoo. Partialy fixes #593786
...
Add a pkg-config check for opengl and if not found assume opengl-es. If user has
none of both one still get build error later on (there is no pkg-config for
opengl-es).
Add more files to EXTRA dist and build the opengles variant if selected.
Simmilar changes could be done for the winCE backend.
2014-03-15 18:36:36 +01:00
Anthony Violo
a86d07acca
[375/906] gloverlay: can control image size and position
...
Fix bug #591591
2014-03-15 18:36:36 +01:00
Christian Schaller
48bea6b3ea
[370/906] Add missing header file to Makefile.am and update spec file to actually be for this package
2014-03-15 18:36:36 +01:00
Stefan Kost
26bb5badb8
[367/906] docs: fix GstXvImageSInk -> GstGLImageSink and reindent
2014-03-15 18:36:36 +01:00
Tim-Philipp Müller
6516ecb3cc
[366/906] docs: make remaining elements show up in docs
...
Split out declarations into header files and hook everything up so
that five more elements show up in the plugin docs. Fixes #559135 .
2014-03-15 18:36:36 +01:00
Julien Isorce
579b74d845
[364/906] make the cmake build work on MacOSX
...
We can now generate a Xcode project (or Unix Makfiles),
see INSTALL file
2014-03-15 18:36:36 +01:00
Sebastian Dröge
6ce63cd366
[359/906] gl: Link with -lm and fix indention
2014-03-15 18:36:35 +01:00
Jan Schmidt
09a2e19512
[356/906] build: Fix typo: gstglbumber.h -> gstglbumper.h
2014-03-15 18:36:35 +01:00
Julien Isorce
56d656adf6
[355/906] same motion compensation
2014-03-15 18:36:35 +01:00
Julien Isorce
df4e712ca2
[354/906] fix and add gldeinterlace filter to the builds
2014-03-15 18:36:35 +01:00
julien
3eddae28a9
[353/906] add a gldeinterlace filter
...
Greedyh operation implemented using OpenGL Shading Language.
We could add other operations later.
Does some good results but still not as expected.
That's why I do not add it yet to the build.
2014-03-15 18:36:35 +01:00
Jan Schmidt
f5ac0a784d
[352/906] fix typo
...
Change GST_GL_DISPLAY_PROJECTION_PERSPECIVE to
GST_GL_DISPLAY_PROJECTION_PERSPECTIVE.
Re-indent a couple of files that needed it.
2014-03-15 18:36:35 +01:00
Julien Isorce
2680375248
[351/906] allow to switch xoverlay while being in paused state
2014-03-15 18:36:35 +01:00
Julien Isorce
6292d5af16
[349/906] can switch xoverlays while playing
...
Fixes bug #584877
Before this commit calling "gst_x_overlay_set_xwindow_id" more
than one time, had no effect.
It mainly affects the glimagesink implementation.
But on win32 (and CE), some stuff has to be done to
release the old parent.
And add a switchxoverlay example where the user
can click on left/right part of the main window to
switch the xoverlay.
2014-03-15 18:36:35 +01:00
LRN
47beeb1083
[348/906] Add gstvideo to glimagesink LIBADD. Fixes bug #584680
2014-03-15 18:36:35 +01:00
Julien Isorce
911cf141c4
[334/906] [win32/winCE] fix some pointer cast warnings with mingw
...
And turn off deprecated Wp64 msvc compiler option.
2014-03-15 18:36:34 +01:00
Julien Isorce
bcc33ab716
[333/906] add force-aspect-ratio support
2014-03-15 18:36:34 +01:00
Julien Isorce
f735c06c4a
[331/906] indent and fix some compiler warnings
2014-03-15 18:36:34 +01:00
Julien Isorce
87a1652216
[330/906] Can now share textures with an external gl context
...
The external opengl context must be specify when creating
our OpenGL context (glx) or just after (wgl).
When calling glXCreateContext or wglShareLists, the
external opengl context must not be current.
Then our gl context can be current in the gl thread while
the external gl context is current in an other thread.
See tests/examples/clutter/cluttershare.c
2014-03-15 18:36:34 +01:00
Julien Isorce
ec0bb66fe9
[321/906] add OpenGL ES 2.x support.
...
In OpenGL 2.x for Embedded System, a lot of basic scene/draw functions
have been removed. It means that everything is made using vertex and
fragment shaders.
I have also added a gstglwindow backend for winCE that uses EGL
(Native Platform Graphics Intercace) (which is a full part of
OpenGL ES specification). It remove the use of wgl/glx functions.
2014-03-15 18:36:33 +01:00
Julien Isorce
9584a5ddfd
[318/906] rename GNUmakefile(s) to GNUmakefile(s).gnustep
2014-03-15 18:36:33 +01:00
Julien Isorce
49c903d156
[317/906] implement gstglwindow for Cocoa (MacOS and GNUstep)
2014-03-15 18:36:33 +01:00
Julien Isorce
51ee1f5976
[316/906] remove some unused HAVE_LIBPNG: libpng is a required package
2014-03-15 18:36:33 +01:00
Julien Isorce
b2143adee3
[315/906] add GNUstep build
2014-03-15 18:36:33 +01:00
Stefan Kost
8af0cb09f8
[313/906] indent: don't use tabs inside property descriptions
2014-03-15 18:36:33 +01:00
Stefan Kost
aea83171e2
[312/906] build: include stdlib.h when using free().
2014-03-15 18:36:33 +01:00
Sebastian Dröge
c6ad604c8c
[311/906] Cast GstBuffer subclasses to GstBuffer * before passing to gst_buffer_unref()
2014-03-15 18:36:33 +01:00
David Schleef
d015d5862d
[310/906] Global reindent
...
Indent parameters:
INDENT_PARAMETERS="--braces-on-if-line \
--case-brace-indentation0 \
--case-indentation2 \
--braces-after-struct-decl-line \
--line-length80 \
--no-tabs \
--cuddle-else \
--dont-line-up-parentheses \
--honour-newlines \
--continuation-indentation4 \
--tab-size8 \
--indent-level2"
2014-03-15 18:36:33 +01:00
David Schleef
4778241500
[308/906] Rename glpixbufoverlay to gloverlay
2014-03-15 18:36:32 +01:00
David Schleef
72691ce147
[307/906] Remove conditionals on gdkpixbuf
2014-03-15 18:36:32 +01:00
Julien Isorce
4d4e3ad4f9
[306/906] fix CMake build and frozen CodeBlocks build
2014-03-15 18:36:32 +01:00
Julien Isorce
e17c93723f
[305/906] CMake build now checks for libpng
2014-03-15 18:36:32 +01:00
Julien Isorce
92e733dce0
[304/906] only load RGBA files.png
2014-03-15 18:36:32 +01:00
David Schleef
b6735ace5d
[303/906] Add libpng dependency
2014-03-15 18:36:32 +01:00
David Schleef
ed2be67ba8
[302/906] Fix some warnings
2014-03-15 18:36:32 +01:00
Julien Isorce
994a25ca7e
[301/906] depends on libpng instead of gdk_pixbuf
2014-03-15 18:36:32 +01:00
Julien Isorce
1f89d69c74
[300/906] use libpng in glpixbufoverlay filter.
2014-03-15 18:36:32 +01:00
Julien Isorce
3b9456e384
[299/906] use libpng to load the normal map instead of using gdkpixbuf
2014-03-15 18:36:32 +01:00
David Schleef
43e574aa8f
[298/906] Revert "Fix indention"
...
This reverts commit 96e4ab18c2cf9876f6c031b9aba6282d0bd45a93.
You should have asked first. And you would have been told "no",
because it causes people on development branches to do a huge
amount of extra work.
2014-03-15 18:36:32 +01:00
Sebastian Dröge
369b1d4ff2
[295/906] Fix indention
2014-03-15 18:36:32 +01:00
Julien Isorce
8997a6e82b
[293/906] minimal gtk doc
2014-03-15 18:36:32 +01:00
David Schleef
f64da834ab
[292/906] Add 'extern' for data symbols in headers
2014-03-15 18:36:31 +01:00
David Schleef
e4b26b46fd
[289/906] build fixes for Windows libraries
2014-03-15 18:36:31 +01:00
Julien Isorce
4b53383385
[285/906] fix gl framerate in gst caps. Consider position in xoverlay. Fix inversion bettween COLS and ROWS, and move windows.
2014-03-15 18:36:31 +01:00
Julien Isorce
c8c7f8733b
[280/906] Remove set_visible, because it's now automatically done when the first post redisplay comes.
2014-03-15 18:36:31 +01:00
Julien Isorce
94f74d4b50
[273/906] add some debug outputs about Visual and XVisualInfo
2014-03-15 18:36:30 +01:00
Julien Isorce
747e2cf0de
[264/906] Rewrite gstglwindow_x11.c because X API is not thread safe.
2014-03-15 18:36:30 +01:00
Julien Isorce
d404163d79
[262/906] Works on linux but still some bugs. Fix autotools build.
2014-03-15 18:36:30 +01:00
Julien Isorce
cfd7f1be38
[257/906] begin gstglwindow_x11.c implementation
2014-03-15 18:36:29 +01:00
Julien Isorce
f4bfade861
[253/906] win32: re-implement supports for gst xoverlay interface, on this branch
2014-03-15 18:36:29 +01:00
Julien Isorce
2c9bb405a0
[251/906] Properly clean OpenGL contexts
2014-03-15 18:36:29 +01:00
Julien Isorce
25af2c116e
[248/906] fix msvc warnings and update CMake build, win32 CodeBlocks build and vs8 build
2014-03-15 18:36:29 +01:00
Filippo Argiolas
0ac54fdc55
[247/906] Import xray effect
...
Add xray effect. Maps luma to a negative, slightly cyan tinted, curve,
applies some light gaussian blur and multiplies it with its sobel edges. Not
sure about the name, likely to change. Probably still needs some tuning.
2014-03-15 18:36:29 +01:00
Filippo Argiolas
5f8cc769b7
[246/906] Add multiply fragment shader
...
Add a fragment shader to blend two textures with multiply blend mode
2014-03-15 18:36:29 +01:00
Filippo Argiolas
a729d080f4
[245/906] Add invert property to sobel filter
...
Add an invert property to sobel_fragment_source and Sobel filter. Useful
to have dark edges with white background.
2014-03-15 18:36:29 +01:00
Filippo Argiolas
b9cd64e83c
[244/906] Make luma_to_curve non-static
...
Make luma_to_curve public so that it can be used as a step for more
complex effects.
2014-03-15 18:36:29 +01:00
Julien Isorce
9771af8624
[241/906] fix CMake build
2014-03-15 18:36:29 +01:00
Stefan Kost
b81469f93e
[240/906] Build gtk-docs for plugins.
...
Add include to otherwise empty .types file to fix the scanner build.
Edit Makefile.am, .sections, -docs.sgml to scan all plugins and include
them in the master file. Fix xml errors in two sources (missing closing
tag).
2014-03-15 18:36:28 +01:00
Julien Isorce
1a7d45a789
[239/906] start to write the gtk doc
2014-03-15 18:36:28 +01:00
Julien Isorce
49455136b7
[238/906] fix glfilterglass (reason: videotestsrc rgb is by default bpp=32, depth=24, so alpha channel is 0)
2014-03-15 18:36:28 +01:00
Julien Isorce
6a7ce4eee8
[237/906] update cmake build and the 2 frozen win32 builds (CodeBlocks, vs8)
2014-03-15 18:36:28 +01:00
Filippo Argiolas
a80fecd888
[236/906] import sobel edge detector from cvs branch
2014-03-15 18:36:28 +01:00
Julien Isorce
8a2d3e3874
[235/906] can use several G_LOG_DOMAINs and GST_CATegories, with msvc8
2014-03-15 18:36:28 +01:00
Filippo Argiolas
934797f86c
[234/906] use right blending function with pixbuf overlay
2014-03-15 18:36:28 +01:00
Filippo Argiolas
3f3c0e298f
[232/906] use texture1 for curve textures
2014-03-15 18:36:28 +01:00
Julien Isorce
d2cc6f2226
[231/906] Add a glfilterglass inspired from http://www.mdk.org.pl/2007/11/17/gl-colorspace-conversions
2014-03-15 18:36:28 +01:00
Julien Isorce
0f4bae01c3
[229/906] update authors from the CVS repository
2014-03-15 18:36:28 +01:00
Filippo Argiolas
43e92c4a3f
[227/906] explicitly bind the main texture and the curve one to separate units in rgb and luma to curve effects. This should solve the issue pointed in TODO item 21.
2014-03-15 18:36:28 +01:00
Julien Isorce
72b90292eb
[222/906] Finish TODO task 17
2014-03-15 18:36:27 +01:00
Julien Isorce
597fe26a1e
[219/906] Use a gst debug category for GstGLDisplay instead of g_print, gst-launch-0.10 --gst-debug=gldisplay:3 videotestsrc ! glimagesink
2014-03-15 18:36:27 +01:00
Julien
a38424f3be
[218/906] The CMake build now works on my Kubuntu-KDE4.1.1
2014-03-15 18:36:27 +01:00
Julien Isorce
fde783262f
[217/906] Add cmake build http://www.cmake.org . See CMake install instructions in the INSTALL file. (I have not correctly configured yet the CMake build for unix, BE patient)
2014-03-15 18:36:27 +01:00
Julien
66464c279d
[216/906] fix glbumper related gtk dependencies
2014-03-15 18:36:27 +01:00
Julien Isorce
be8d0806d8
[215/906] glbumper is compiled only when having GdkPixBuf. And update win32 codeblocks build
2014-03-15 18:36:27 +01:00
julien User
690b684d93
[214/906] update codeblocks build on linux and fix a warning
2014-03-15 18:36:27 +01:00
Julien Isorce
9df01a59ae
[213/906] forgot to add the bumper files
2014-03-15 18:36:27 +01:00
Julien Isorce
10853e1c2f
[212/906] add a glbumper (bump mapping filter through GLSL) that exposes how to use both vertex and fragment shaders
2014-03-15 18:36:27 +01:00
unknown
c8fb510e4f
[206/906] Do not use frame buffer object when "input video is RGB" or when "GLSL is not available and YCbCr is available". So frame buffer object is not a plugin requirement anymore. So I decreased the OpengGL version from 1.4 to 1.2 (maybe less?)
2014-03-15 18:36:27 +01:00
Filippo Argiolas
7c2662d7e9
[203/906] use opengl for pixbuf resizing in glpixbufoverlay, start to work on properties
2014-03-15 18:36:26 +01:00
Filippo Argiolas
52a7e2dc6b
[202/906] use fixed opengl pipeline for glpixbufoverlay (any drawback?)
2014-03-15 18:36:26 +01:00
Julien Isorce
352f0d4180
[198/906] add fxtest vs8 project
2014-03-15 18:36:26 +01:00
Julien Isorce
631a06c6ab
[197/906] Shaders which are in the shaderstable are now released
2014-03-15 18:36:26 +01:00
Filippo Argiolas
e25a8f27db
[196/906] fix a differencematte memory issue
2014-03-15 18:36:26 +01:00
Filippo Argiolas
5425839342
[195/906] fix gstgldifferencematte and add an example app to test it dragging an image over the video (works with pixbufoverlay too, see pixbufdrop --help)
2014-03-15 18:36:26 +01:00
Filippo Argiolas
745a078f7f
[194/906] another typo, restore old twirl fragment source
2014-03-15 18:36:26 +01:00
Filippo Argiolas
4c907f53be
[193/906] fix typos
2014-03-15 18:36:26 +01:00
Filippo Argiolas
8024aa7483
[192/906] complete differencematte filter.. I did it quickly, probably still needs some work
2014-03-15 18:36:26 +01:00
Filippo Argiolas
3faa943819
[191/906] little cleanup. add first draft of gstgldifferencematte. still doesn't work
2014-03-15 18:36:26 +01:00
Julien Isorce
b770c7cd04
[190/906] force calling glimagesink->stop() when going from PAUSED to READY
2014-03-15 18:36:26 +01:00
unknown
f8f81eae40
[189/906] update vs8 build and fix some warnings that comes from vc8
2014-03-15 18:36:26 +01:00
Filippo Argiolas
72f6eb52dc
[188/906] add first draft of a pixbuf overlay element. add macros to optionally build the latter if gdk-pixbuf is found
2014-03-15 18:36:26 +01:00
Filippo Argiolas
30ab0747cc
[184/906] add a couple of macros to autotools to compile with uintrepid automake. remove array constructor so we don't have to depend on glsl #version 120.
2014-03-15 18:36:25 +01:00
Filippo Argiolas
fcb1d8a62f
[182/906] add a better sepia toning curve
2014-03-15 18:36:25 +01:00
Filippo Argiolas
2e43b533ea
[181/906] add a translatable string to testsrc to get rid of po dir errors after distclean and git clean
2014-03-15 18:36:25 +01:00
Filippo Argiolas
91006dae09
[179/906] distortion effect cleanup
2014-03-15 18:36:25 +01:00
Filippo Argiolas
0a4aa6ecc3
[177/906] fix gleffects memory issue (init resources on start and reset them on stop)
2014-03-15 18:36:25 +01:00
Filippo Argiolas
35b7b488f3
[176/906] fix a typo
2014-03-15 18:36:25 +01:00
Filippo Argiolas
85502ef8cd
[175/906] add sin effect (desaturate everything but red shades). still needs some tuning.
2014-03-15 18:36:25 +01:00
Filippo Argiolas
7364319bfd
[174/906] add a property to gleffects to switch video left to right, useful with webcams to resemble a mirror
2014-03-15 18:36:25 +01:00
Filippo Argiolas
5db4fa5f1e
[173/906] add lumaxpro (desaturate + cross process) effect. nothing too impressive but I like it.
2014-03-15 18:36:25 +01:00
Filippo Argiolas
fad976d7b7
[171/906] import fxtest (little gtk app to easily test effects) from cvs branch, fixed rgbtocurve.
2014-03-15 18:36:25 +01:00
Julien Isorce
6e0a1b201f
[170/906] update codeblocks build
2014-03-15 18:36:25 +01:00
Filippo Argiolas
c87eb37c32
[169/906] import remaining distortion effects from cvs branch (fisheye, twirl, bulge, tunnel, square)
2014-03-15 18:36:25 +01:00
Filippo Argiolas
c780339c92
[168/906] cleanup curves header
2014-03-15 18:36:24 +01:00
Filippo Argiolas
226fe2bffa
[167/906] better cross processing curve
2014-03-15 18:36:24 +01:00
Filippo Argiolas
5b1f62a079
[166/906] add rgb_to_luma_fragment source and correspondent effect. use the latter for a cross processing effect.
2014-03-15 18:36:24 +01:00
Filippo Argiolas
e009d7b400
[165/906] import luma_to_curve effects (Sepia, Heat) from cvs branch with better texture memory handling (teximage curves only once). Sepia curve still needs some love.
2014-03-15 18:36:24 +01:00
Filippo Argiolas
c5bd6fdbc5
[164/906] rename blend_fragment_source to sum_fragment_source and add uniform blending parameters
2014-03-15 18:36:24 +01:00
Filippo Argiolas
aa7e3867ac
[163/906] import glow effect (maybe the most tricky) from cvs branch
2014-03-15 18:36:24 +01:00
Filippo Argiolas
e8d27cadf7
[162/906] import stretch effect from cvs
2014-03-15 18:36:24 +01:00
Filippo Argiolas
ebde5b5501
[161/906] import squeeze effect from cvs
2014-03-15 18:36:24 +01:00
Filippo Argiolas
962e4cd8a1
[160/906] forgot to add a file
2014-03-15 18:36:24 +01:00
Filippo Argiolas
77fc214670
[159/906] still some source tree reorganize, fixed some issue with headers and ifdefs, moved identity into effects dir
2014-03-15 18:36:24 +01:00
Filippo Argiolas
7bbdcce721
[158/906] still working on mergin gstgleffects, add mirror effect. reorganize source tree.
2014-03-15 18:36:24 +01:00
Julien Isorce
fd192ec957
[157/906] move thread_do_upload_make from thread_do_upload to thread_init_upload
2014-03-15 18:36:24 +01:00
Julien Isorce
d0203c1172
[156/906] fix a crash that could happens when using at least 2 gl context and when closing a window on linux
2014-03-15 18:36:24 +01:00
Julien Isorce
8e8a9b8fd5
[155/906] fix some errors and check all the pipelines listed in tests/pipelines
2014-03-15 18:36:24 +01:00
Filippo Argiolas
4fc5dab530
[154/906] added first skeleton of gstgleffects, imported basic stuff from cvs branch.
2014-03-15 18:36:24 +01:00
Filippo Argiolas
a595635904
[153/906] Try to genereate textures within gstglfilterblur to see if the new thread_use_fbo works both with textures from the pool and custom ones
2014-03-15 18:36:24 +01:00
Julien Isorce
11f620a96a
[151/906] ISO C90
2014-03-15 18:36:24 +01:00
Julien Isorce
c0f13fd869
[150/906] glTexImage2D(w, h, NULL) is now called only one time (mem alloc)
2014-03-15 18:36:23 +01:00
Julien Isorce
f27aef15b7
[147/906] oups forgot to add 2 files to the previous commit
2014-03-15 18:36:23 +01:00
Julien Isorce
d6ef47cd9c
[146/906] remove filteredge
2014-03-15 18:36:23 +01:00
Julien Isorce
26564461f0
[145/906] gen/del the middle texture only one time in the gstglfilterblur
2014-03-15 18:36:23 +01:00
Filippo Argiolas
fadb69b0aa
[144/906] remove gstglfilterblur.h, it's easier to have everything in the same file
2014-03-15 18:36:23 +01:00
Filippo Argiolas
b0f30ff125
[143/906] Add init and reset callbacks in GstGLFilter to run arbitrary gl code at start and stop. Useful to init and cleanup custom gl resources.
2014-03-15 18:36:23 +01:00
Filippo Argiolas
396afd5ef3
[142/906] Add a generic action to be able to execute arbitrary gl code within the gl thread with less pain
2014-03-15 18:36:23 +01:00
Filippo Argiolas
77c0b28031
[141/906] some steps towards simplification. added a convenience function to gstglfilter and some comment here and there
2014-03-15 18:36:23 +01:00
Julien Isorce
47554d341c
[139/906] fix warnings when compiling upload/download shaders
2014-03-15 18:36:23 +01:00
Julien Isorce
79bea07a77
[135/906] add and make the Filippo's gstglfilterblur works on the master branch (example of multiple step rendering)
2014-03-15 18:36:23 +01:00
julien User
03a9ea9c6b
[134/906] fix makefiles list from configure.ac (tests have changes) and fix a warning
2014-03-15 18:36:23 +01:00
Julien Isorce
8049be3a60
[132/906] make the plugin properly shutdown when one of the check requirements failed
2014-03-15 18:36:22 +01:00
Filippo Argiolas
c3d0a2f9b4
[131/906] fix warnings (unused vars)
2014-03-15 18:36:22 +01:00
Julien Isorce
3d3ba97c4d
[130/906] use GstGLShader in the GLSL colorspace conversion
2014-03-15 18:36:22 +01:00
Filippo Argiolas
93722cac7d
[129/906] fixed warning for unused variable (fatal with -Werror)
2014-03-15 18:36:22 +01:00
Julien Isorce
44ec9c01dd
[128/906] add GstGLShader stuffs in the vs8 project, fix laplacian fragment code to make it compile on ATI, and fix check function about Opengl and Glew version
2014-03-15 18:36:22 +01:00
Filippo Argiolas
aeadf6bc0e
[127/906] Imported GstGLShader from cvs branch. Added a demo laplacian convolution filter to demonstrate how this can be integrated with minimum effort.
2014-03-15 18:36:22 +01:00
David Schleef
a4400cf12b
[126/906] Change some guints to GLuints because of warnings on OS/X.
2014-03-15 18:36:22 +01:00
Julien Isorce
21e2cff9cc
[119/906] git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@579 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2014-03-15 18:36:22 +01:00
Julien Isorce
951460cdd1
[118/906] git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@573 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2014-03-15 18:36:22 +01:00
Julien Isorce
27c009b1ee
[117/906] up gtk example
...
git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@564 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2014-03-15 18:36:22 +01:00
Julien Isorce
6b2276b9ab
[116/906] git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@563 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2014-03-15 18:36:21 +01:00
Julien Isorce
90f411fe53
[115/906] git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@556 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2014-03-15 18:36:21 +01:00
Julien Isorce
5acf54ccf9
[114/906] git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@555 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2014-03-15 18:36:21 +01:00
Julien Isorce
37a0568858
[113/906] git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@554 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2014-03-15 18:36:21 +01:00
Julien Isorce
652914f17b
[112/906] git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@552 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2014-03-15 18:36:21 +01:00
Julien Isorce
070fbb7498
[110/906] git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@544 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2014-03-15 18:36:21 +01:00
Julien Isorce
31b67c52b1
[109/906] git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@543 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2014-03-15 18:36:21 +01:00
Julien Isorce
e7f5afee87
[108/906] git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@540 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2014-03-15 18:36:21 +01:00
Julien Isorce
6fe0a756a1
[106/906] up sobel algo
...
git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@522 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2014-03-15 18:36:21 +01:00
Julien Isorce
646aaf4cd3
[105/906] up Sobel filter and gl/glew version checker
...
git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@518 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2014-03-15 18:36:21 +01:00
Julien Isorce
f0a68351b3
[104/906] start to add a glfilteredge that proceeds edge detection using GLSL
...
git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@517 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2014-03-15 18:36:21 +01:00
Julien Isorce
459cde2eaa
[103/906] rename glgraphicmaker -> glupload and glvideomaker -> gldownload
...
git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@516 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2014-03-15 18:36:21 +01:00
Julien Isorce
7bf48a45ff
[102/906] up
...
git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@514 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2014-03-15 18:36:21 +01:00
Julien Isorce
b2ba65cb9b
[101/906] idem
...
git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@513 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2014-03-15 18:36:21 +01:00
Julien Isorce
a8ceba7f97
[100/906] fix warnings linux-specific
...
git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@512 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2014-03-15 18:36:21 +01:00
Julien Isorce
9ab1b4dbe3
[099/906] up (switching linux and win32) ... not fun editor ...
...
git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@511 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2014-03-15 18:36:20 +01:00
Julien Isorce
97ef64e193
[098/906] up...
...
git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@510 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2014-03-15 18:36:20 +01:00
Julien Isorce
54763f9ad3
[097/906] fix warnings
...
git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@509 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2014-03-15 18:36:20 +01:00
Julien Isorce
129652c1ce
[096/906] up
...
git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@508 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2014-03-15 18:36:20 +01:00
Julien Isorce
fccfc68d2b
[093/906] remove 2 warnings
...
git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@505 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2014-03-15 18:36:20 +01:00
Julien Isorce
3778a85f01
[092/906] Finish to revive the gltestsrc. Next step is to do some refactoring.
...
git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@504 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2014-03-15 18:36:20 +01:00
Julien Isorce
49d9bdca0e
[091/906] start to revive the gltestsrc
...
git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@503 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2014-03-15 18:36:20 +01:00
Julien Isorce
a2b31f9961
[090/906] up
...
git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@502 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2014-03-15 18:36:20 +01:00
Julien Isorce
cc2c8fa9cf
[089/906] add a "glcolorscale" element equivalent to "ffmepgcolorspace ! videoscale ! ffmpegcolorspace"
...
git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@501 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2014-03-15 18:36:20 +01:00
Julien Isorce
268d9cd781
[088/906] fix some caps negociations those pipelines works fine : gst-launch-0.10 -v videotestsrc ! video/x-raw-yuv, width=320, height=240 ! glgraphicmaker ! video/x-raw-gl, width=720 , height=576 ! glfiltercube ! glimagesink and gst-launch-0.10 -v videotestsrc ! video/x-raw-yuv, width=320, height=240 ! glgraphicmaker ! video/x-raw-gl, width=720 , height=576 ! glimagesink
...
git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@500 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2014-03-15 18:36:20 +01:00
Julien Isorce
752357e283
[087/906] glfilter can accept to have an input size different than the out put size : video/x-raw-gl, width=w1, height=w1 ! glfilter ! video/x-raw-gl, width=w2, height=w2 ! (fix every examples)
...
git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@499 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2014-03-15 18:36:20 +01:00
Julien Isorce
6c3eb8de43
[085/906] fix regressions about glvideomaker.
...
git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@497 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2014-03-15 18:36:20 +01:00
Julien Isorce
f7b69d5233
[084/906] add a glfilterapp which holds the client draw and reshape callbacks (some "wanted" regressions about the glvideomaker, have been done with this version. Will be fix in next commits)
...
git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@496 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2014-03-15 18:36:20 +01:00
Julien Isorce
43e4bedbe5
[083/906] finish to implement the glfilter: example : gst-launch-0.10 videotestsrc num_buffers = 100 ! glgraphicmaker ! glfiltercube ! glimagesink
...
git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@495 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2014-03-15 18:36:20 +01:00
Julien Isorce
59dc400b7e
[082/906] glfilter can request, use and reject a FBO (step 1)
...
git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@494 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2014-03-15 18:36:19 +01:00
Julien Isorce
31be382a90
[081/906] start to add a glfilter
...
git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@493 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2014-03-15 18:36:19 +01:00
Julien Isorce
e1452c50d0
[078/906] up from kubuntu
...
git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@476 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2014-03-15 18:36:19 +01:00
Julien Isorce
ede863197a
[075/906] indent
...
git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@451 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2014-03-15 18:36:19 +01:00
Julien Isorce
870fff7ac8
[070/906] implement and fix onClose: when a user click on the cross of an internal window (there is not this issue when using the gstxoverlay interface)
...
git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@436 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2014-03-15 18:36:19 +01:00
Julien Isorce
76fa1292f8
[069/906] add gstreamer license
...
git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@435 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2014-03-15 18:36:19 +01:00
Julien Isorce
9c306c1c40
[068/906] up
...
git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@432 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2014-03-15 18:36:19 +01:00
Julien Isorce
e123a82ecf
[067/906] up
...
git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@431 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2014-03-15 18:36:19 +01:00
Julien Isorce
f509c88675
[066/906] up
...
git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@430 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2014-03-15 18:36:19 +01:00
Julien Isorce
3b8e186130
[064/906] up
...
git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@424 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2014-03-15 18:36:18 +01:00
Julien Isorce
a5ff5ff14e
[062/906] git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@421 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2014-03-15 18:36:18 +01:00
David Schleef
f1744c26ec
[061/906] First SVN commit. This commit is a hack to make git-rebase work
2014-03-15 18:36:18 +01:00
Tim-Philipp Müller
7fbd185eb5
[058/906] * gst-libs/gst/gl/Makefile.am: The library needs to link against libgstvideo-0.10. * gst/gl/Makefile.am: The plugin does not (I think) need to link against GL or libgstvideo, since our new gstreamer GL library already does that, but it does need to link against our brand-new libgstgl-0.10.
2014-03-15 18:36:18 +01:00
David Schleef
22ad71355d
[057/906] * gst/gl/.cvsignore: ingore some files * gst-libs/gst/Makefile.am: distcheck fixes * gst/gl/Makefile.am: distcheck fixes * win32/common/config.h: -good has this in CVS, so we will too.
2014-03-15 18:36:18 +01:00
David Schleef
0a3e152339
[056/906] * configure.ac: Readd pre-pkgconfig OpenGL detection, since pkgconfig requires Mesa from git master. * gst/gl/glimagesink.c: * gst/gl/gstopengl.c: Move debug category initialization to element. * gst-libs/gst/gl/Makefile.am: * gst-libs/gst/gl/gstglfilter.c: * gst-libs/gst/gl/gstglfilter.h: * gst/gl/gstglfilter.c: * gst/gl/gstglfilter.h: Move glfilter to library. * pkgconfig/gstreamer-plugins-gl.pc.in: Add gstreamer-base-0.10 as a requirement. * po/en.po: Update.
2014-03-15 18:36:18 +01:00
Tim-Philipp Müller
38699b8db5
[055/906] * configure.ac: * docs/Makefile.am: * gst-libs/Makefile.am: * gst-libs/gst/gl/Makefile.am: * gst/gl/Makefile.am: * tests/Makefile.am: Fix compilation in uninstalled setup and some distcheck-y bits (not all though).
2014-03-15 18:36:18 +01:00
David Schleef
46f9f1a828
[054/906] Fixes to make project compile. Probably still doesn't work. * configure.ac: * gst-libs/gst/Makefile.am: * gst-libs/gst/gl/Makefile.am: * gst/Makefile.am: * gst/gl/Makefile.am: * gst/gl/gstgltestsrc.c: * po/LINGUAS: * win32/MANIFEST:
2014-03-15 18:36:18 +01:00
David Schleef
be12ae8167
[052/906] * sys/glsink/glimagesink.c: * sys/glsink/glimagesink.h: * sys/glsink/gstglbuffer.h: * sys/glsink/gstgldisplay.c: * sys/glsink/gstgldisplay.h: * sys/glsink/gstglupload.c: Handle xoverlay exposes correctly. This means glimagesink works correctly most of the time in totem (fullscreening being an execption). Doesn't handle expose events directly to the GL window.
2014-03-15 18:36:18 +01:00
David Schleef
97116dd0d0
[051/906] * sys/glsink/glextensions.c: * sys/glsink/glextensions.h: * sys/glsink/glimagesink.c: * sys/glsink/glimagesink.h: * sys/glsink/gstgldisplay.c: * sys/glsink/gstgldisplay.h: * sys/glsink/gstopengl.c: Reenable video/x-raw-rgb and x-raw-yuv for glimagesink. Enable vblank synchronization. Remove unused code.
2014-03-15 18:36:18 +01:00
David Schleef
a7190f5a74
[050/906] * configure.ac: * sys/glsink/Makefile.am: Switch to using pkgconfig to detect libGL. Since we use recent features added to Mesa, there's no point in adding a check for pre-pkgconfig versions.
2014-03-15 18:36:18 +01:00
David Schleef
694ae09876
[049/906] * configure.ac: * sys/glsink/glextensions.c: * sys/glsink/glextensions.h: * sys/glsink/glimagesink.c: * sys/glsink/glimagesink.h: * sys/glsink/gstglbuffer.c: * sys/glsink/gstglbuffer.h: * sys/glsink/gstglconvert.c: * sys/glsink/gstgldisplay.c: * sys/glsink/gstgldisplay.h: * sys/glsink/gstgldownload.c: * sys/glsink/gstglfilter.c: * sys/glsink/gstglfilter.h: * sys/glsink/gstglfilterexample.c: * sys/glsink/gstgltestsrc.c: * sys/glsink/gstglupload.c: Major cleanup of code. Convert glupload to BaseTransform. Handle caps negotiation mostly correctly. Reenable in build.
2014-03-15 18:36:18 +01:00
David Schleef
4c48328151
[048/906] * sys/glsink/glimagesink.c: * sys/glsink/gstglupload.c: Change glimagesink over to using GL buffers. This breaks glimagesink for normal operation, but should be fixed soon.
2014-03-15 18:36:18 +01:00
David Schleef
87c262d1c3
[047/906] * sys/glsink/gltestsrc.c: * sys/glsink/gstglbuffer.c: * sys/glsink/gstglbuffer.h: * sys/glsink/gstgldownload.c: * sys/glsink/gstglfilter.c: * sys/glsink/gstglfilterexample.c: * sys/glsink/gstgltestsrc.c: * sys/glsink/gstglupload.c: Convert gldownload to BaseTransform. Make glfilterexample visually interesting. Add support for various formats to downloading. Fix a few places where we leak GL state to other elements (bad, but hard to prevent).
2014-03-15 18:36:18 +01:00
David Schleef
8abaf6f1dd
[046/906] * sys/glsink/BUGS: * sys/glsink/Makefile.am: * sys/glsink/gstglbuffer.c: * sys/glsink/gstglbuffer.h: * sys/glsink/gstglconvert.c: * sys/glsink/gstgldisplay.c: * sys/glsink/gstglfilter.c: * sys/glsink/gstglfilter.h: * sys/glsink/gstglfilterexample.c: * sys/glsink/gstgltestsrc.c: * sys/glsink/gstglupload.c: * sys/glsink/gstopengl.c: Remove code that handles non-texture buffers. Add a GstGLBufferFormat type that corresponds to how to use the texture, not the original video format. Convert gstflfilter.c into a base class, add glfilterexample and glconvert elements. * sys/glsink/color_matrix.c: Minor ramblings about color conversion matrices.
2014-03-15 18:36:17 +01:00
David Schleef
27c5fb1f81
[045/906] * sys/glsink/Makefile.am: * sys/glsink/gltestsrc.c: * sys/glsink/gltestsrc.h: * sys/glsink/gstgldisplay.c: * sys/glsink/gstgldownload.c: * sys/glsink/gstglfilter.c: * sys/glsink/gstgltestsrc.c: * sys/glsink/gstgltestsrc.h: * sys/glsink/gstglupload.c: * sys/glsink/gstopengl.c: Add gltestsrc element, a duplicate of videotestsrc that uses GL rendering to create images. More cleanup.
2014-03-15 18:36:17 +01:00
David Schleef
8e95439b75
[044/906] * sys/glsink/gstglbuffer.c: * sys/glsink/gstgldownload.c: * sys/glsink/gstglfilter.c: Clean up code. Fix a few leaks.
2014-03-15 18:36:17 +01:00
David Schleef
6e4a16f9a1
[043/906] * sys/glsink/Makefile.am: * sys/glsink/glimagesink.h: * sys/glsink/glvideo.c: * sys/glsink/glvideo.h: * sys/glsink/gstglbuffer.c: * sys/glsink/gstglbuffer.h: * sys/glsink/gstgldisplay.c: * sys/glsink/gstgldisplay.h: Rename glvideo.[ch] to gstgldisplay.[ch].
2014-03-15 18:36:17 +01:00
David Schleef
ff954bcaff
[042/906] * sys/glsink/glimagesink.c: * sys/glsink/glimagesink.h: * sys/glsink/glvideo.c: * sys/glsink/glvideo.h: * sys/glsink/gstglbuffer.c: * sys/glsink/gstglbuffer.h: * sys/glsink/gstgldownload.c: * sys/glsink/gstglfilter.c: * sys/glsink/gstglupload.c: Rewrite a bunch of code to use textures as the intermediate instead of renderbuffers. upload, download, filtering all work.
2014-03-15 18:36:17 +01:00
David Schleef
07780031bc
[041/906] * sys/glsink/glextensions.c: * sys/glsink/glextensions.h: * sys/glsink/glvideo.c: * sys/glsink/glvideo.h: * sys/glsink/gstglbuffer.c: * sys/glsink/gstgldownload.c: * sys/glsink/gstglupload.c: A careful read of the documentation reveals that I can't use renderbuffers as textures. Duh. Checkpoint because I'm about to rewrite a bunch of code.
2014-03-15 18:36:17 +01:00
David Schleef
21437bba7d
[040/906] * sys/glsink/Makefile.am: * sys/glsink/glextensions.c: * sys/glsink/glextensions.h: * sys/glsink/glimagesink.c: * sys/glsink/glimagesink.h: * sys/glsink/glvideo.c: * sys/glsink/glvideo.h: * sys/glsink/gstglbuffer.c: * sys/glsink/gstglbuffer.h: * sys/glsink/gstgldownload.c: * sys/glsink/gstglfilter.c: * sys/glsink/gstglupload.c: * sys/glsink/gstopengl.c: Switch to using framebuffer_objects instead of GLXPixmaps, because that's what my driver supports. Remove GLDrawable, since GstGLDisplay now has a default drawable and context.
2014-03-15 18:36:17 +01:00
David Schleef
42e6695716
[039/906] * sys/glsink/Makefile.am: * sys/glsink/glimagesink.c: * sys/glsink/glimagesink.h: * sys/glsink/glvideo.c: * sys/glsink/glvideo.h: * sys/glsink/gstopengl.c: * sys/glsink/gstglupload.c: Use new GstVideoFormat checked into -base. Add new glupload element to upload raw video into a GLXPixbuf. Untested. Will likely crash your motorcycle if you try it. * sys/glsink/gstvideo-common.c: * sys/glsink/gstvideo-common.h: Remove.
2014-03-15 18:36:17 +01:00
David Schleef
4628a9a16d
[038/906] * sys/glsink/glimagesink.c: * sys/glsink/glimagesink.h: * sys/glsink/glvideo.c: * sys/glsink/glvideo.h: Rename GLVideo* to GstGL*.
2014-03-15 18:36:17 +01:00
David Schleef
dd67fc9b27
[037/906] * sys/glsink/Makefile.am: * sys/glsink/glextensions.c: * sys/glsink/glextensions.h: * sys/glsink/glvideo.c: Add vblank synchronization. Isn't really working on my driver. :(
2014-03-15 18:36:17 +01:00
David Schleef
9509570498
[036/906] * sys/glsink/Makefile.am: * sys/glsink/glimagesink.c: * sys/glsink/glvideo.c: * sys/glsink/glvideo.h: * sys/glsink/gstvideo-common.c: * sys/glsink/gstvideo-common.h: Add support for xRGB, xBGR, and AYUV. Re-add support for power-of-2 textures.
2014-03-15 18:36:17 +01:00
David Schleef
4b7396917b
[035/906] * sys/glsink/gstvideo-common.c: * sys/glsink/gstvideo-common.h: Pull together some common raw video functions into one location. This should eventually move to -base. * sys/glsink/Makefile.am: * sys/glsink/glimagesink.c: * sys/glsink/glimagesink.h: * sys/glsink/glvideo.c: * sys/glsink/glvideo.h: * sys/glsink/gstopengl.c: Use the new video-common.h stuff. Readd support for RGB video.
2014-03-15 18:36:17 +01:00
Christian Schaller
4f11558976
[034/906] update spec file and add two missing files for disting
2014-03-15 18:36:17 +01:00
David Schleef
40c4ec0e6a
[033/906] * sys/glsink/Makefile.am: * sys/glsink/glimagesink.c: * sys/glsink/glvideo.c: * sys/glsink/glvideo.h: Split out gl-related code into a separate file with a sensible API. Major cleanup. Still crashes occasionally due to different threads touching bits at the same time.
2014-03-15 18:36:17 +01:00
Jan Schmidt
7e83b698c4
[032/906] * sys/glsink/glimagesink.c: (gst_glimage_sink_stop), (gst_glimage_sink_create_window), (gst_glimage_sink_init_display): Sprinkle in some XSync calls to avoid raciness with broken drivers (ATI) when re-using a single glimagesink.
2014-03-15 18:36:17 +01:00
Jan Schmidt
057fd7ae98
[031/906] * sys/glsink/glimagesink.c: (gst_glimage_sink_init_display): Update the cached caps after opening the display so that we report only the supported caps formats, not just the template caps. Fixes : #439405
2014-03-15 18:36:17 +01:00
David Schleef
5aaa3c2a21
[030/906] * sys/glsink/glimagesink.c: Fix handling of video/x-raw-yuv. Add overlay handling.
2014-03-15 18:36:17 +01:00
David Schleef
d77b3cd6f9
[029/906] * sys/glsink/glimagesink.c: Fix problems when the element cannot open the display. ( fixes #357212 )
2014-03-15 18:36:16 +01:00
Tim-Philipp Müller
f43bfd5a2e
[028/906] * ext/directfb/dfbvideosink.c: (plugin_init): Lower rank from SECONDARY to MARGINAL. Plugins in -bad that might be autoplugged shouldn't trump plugins in -base, -good or -ugly (in this case ximagesink). * sys/glsink/glimagesink.c: (plugin_init): Set rank to NONE to prevent it from being autoplugged until errors are handled properly (see #357212 ).
2014-03-15 18:36:16 +01:00
Tim-Philipp Müller
2895764956
[027/906] * ext/libfame/gstlibfame.c: (gst_fameenc_get_property): * sys/glsink/glimagesink.c: (gst_glimage_sink_get_property): Fix leaks ( #351502 ).
2014-03-15 18:36:16 +01:00
Tim-Philipp Müller
2b402f94cd
[026/906] * ext/directfb/dfbvideosink.c: * ext/gsm/gstgsmdec.c: * ext/gsm/gstgsmenc.c: * ext/libmms/gstmms.c: * ext/neon/gstneonhttpsrc.c: * ext/theora/theoradec.c: * gst/freeze/gstfreeze.c: * gst/gdp/gstgdpdepay.c: * gst/gdp/gstgdppay.c: * sys/glsink/glimagesink.c: Use GST_DEBUG_CATEGORY_STATIC where possible ( #342503 ) and fix one GObject boilerplate macro.
2014-03-15 18:36:16 +01:00
Stefan Kost
d3d56de171
[025/906] * ext/amrwb/gstamrwbdec.c: * ext/amrwb/gstamrwbenc.c: * ext/amrwb/gstamrwbparse.c: * ext/arts/gst_arts.c: * ext/artsd/gstartsdsink.c: * ext/audiofile/gstafparse.c: * ext/audiofile/gstafsink.c: * ext/audiofile/gstafsrc.c: * ext/audioresample/gstaudioresample.c: * ext/bz2/gstbz2dec.c: * ext/bz2/gstbz2enc.c: * ext/cdaudio/gstcdaudio.c: * ext/directfb/dfbvideosink.c: * ext/divx/gstdivxdec.c: * ext/divx/gstdivxenc.c: * ext/dts/gstdtsdec.c: (gst_dtsdec_base_init): * ext/faac/gstfaac.c: (gst_faac_base_init): * ext/faad/gstfaad.c: * ext/gsm/gstgsmdec.c: * ext/gsm/gstgsmenc.c: * ext/hermes/gsthermescolorspace.c: * ext/ivorbis/vorbisfile.c: * ext/lcs/gstcolorspace.c: * ext/libfame/gstlibfame.c: * ext/libmms/gstmms.c: (gst_mms_base_init): * ext/musepack/gstmusepackdec.c: (gst_musepackdec_base_init): * ext/musicbrainz/gsttrm.c: (gst_musicbrainz_base_init): * ext/nas/nassink.c: (gst_nassink_base_init): * ext/neon/gstneonhttpsrc.c: * ext/sdl/sdlaudiosink.c: * ext/sdl/sdlvideosink.c: * ext/shout/gstshout.c: * ext/snapshot/gstsnapshot.c: * ext/sndfile/gstsf.c: * ext/swfdec/gstswfdec.c: * ext/tarkin/gsttarkindec.c: * ext/tarkin/gsttarkinenc.c: * ext/theora/theoradec.c: * ext/wavpack/gstwavpackdec.c: (gst_wavpack_dec_base_init): * ext/wavpack/gstwavpackparse.c: (gst_wavpack_parse_base_init): * ext/xvid/gstxviddec.c: * ext/xvid/gstxvidenc.c: * gst/cdxaparse/gstcdxaparse.c: (gst_cdxa_parse_base_init): * gst/cdxaparse/gstcdxastrip.c: (gst_cdxastrip_base_init): * gst/chart/gstchart.c: * gst/colorspace/gstcolorspace.c: * gst/deinterlace/gstdeinterlace.c: * gst/equalizer/gstiirequalizer.c: (gst_iir_equalizer_base_init): * gst/festival/gstfestival.c: * gst/filter/gstbpwsinc.c: * gst/filter/gstiir.c: * gst/filter/gstlpwsinc.c: * gst/freeze/gstfreeze.c: * gst/games/gstpuzzle.c: (gst_puzzle_base_init): * gst/librfb/gstrfbsrc.c: * gst/mixmatrix/mixmatrix.c: * gst/mpeg1sys/gstmpeg1systemencode.c: * gst/mpeg1videoparse/gstmp1videoparse.c: * gst/mpeg2sub/gstmpeg2subt.c: * gst/mpegaudioparse/gstmpegaudioparse.c: * gst/multifilesink/gstmultifilesink.c: * gst/overlay/gstoverlay.c: * gst/passthrough/gstpassthrough.c: * gst/playondemand/gstplayondemand.c: * gst/qtdemux/qtdemux.c: * gst/rtjpeg/gstrtjpegdec.c: * gst/rtjpeg/gstrtjpegenc.c: * gst/smooth/gstsmooth.c: * gst/smoothwave/gstsmoothwave.c: * gst/spectrum/gstspectrum.c: * gst/speed/gstspeed.c: * gst/stereo/gststereo.c: * gst/switch/gstswitch.c: * gst/tta/gstttadec.c: (gst_tta_dec_base_init): * gst/tta/gstttaparse.c: (gst_tta_parse_base_init): * gst/vbidec/gstvbidec.c: * gst/videocrop/gstvideocrop.c: * gst/videodrop/gstvideodrop.c: * gst/virtualdub/gstxsharpen.c: * gst/xingheader/gstxingmux.c: (gst_xing_mux_base_init): * gst/y4m/gsty4mencode.c: * sys/cdrom/gstcdplayer.c: * sys/directdraw/gstdirectdrawsink.c: * sys/directsound/gstdirectsoundsink.c: * sys/glsink/glimagesink.c: * sys/qcam/gstqcamsrc.c: * sys/v4l2/gstv4l2src.c: * sys/vcd/vcdsrc.c: (gst_vcdsrc_base_init): * sys/ximagesrc/ximagesrc.c: Define GstElementDetails as const and also static (when defined as global)
2014-03-15 18:36:16 +01:00
Thomas Vander Stichele
331cd7136a
[024/906] rework build; add translations for v4l2
2014-03-15 18:36:16 +01:00
Julien Moutte
96f4bfe011
[023/906] 2006-02-25 Julien MOUTTE <julien@moutte.net>
...
* sys/glsink/glimagesink.c: It doesn't seem we need GLU.h
2014-03-15 18:36:16 +01:00
Jan Schmidt
f9cd135d90
[022/906] * configure.ac: * sys/glsink/Makefile.am: Merge patch from #317048 for building on Cygwin. Patch by Cygwin Ports maintainer. * sys/glsink/glimagesink.c: (gst_glimage_sink_init_display): Move normal debug output to LOG level not ERROR.
2014-03-15 18:36:16 +01:00
Andy Wingo
30ce65ad7f
[021/906] 2006-02-14 Andy Wingo <wingo@pobox.com>
...
* sys/glsink/glimagesink.c (gst_glimage_sink_init): Come on
schleef, don't break me gst-inspect -a.
2014-03-15 18:36:16 +01:00
Andy Wingo
2100b0368f
[020/906] 2006-01-30 Andy Wingo <wingo@pobox.com>
...
* sys/glsink/Makefile.am (libgstglimagesink_la_LIBADD)
(libgstglimagesink_la_CFLAGS): Add PLUGINS_BASE cflags and libs.
2014-03-15 18:36:16 +01:00
Edward Hervey
a26d4d9a88
[019/906] * sys/glsink/Makefile.am: glimagesink.h is dead, long live glimagesink.h
2014-03-15 18:36:16 +01:00
David Schleef
83e7e6013a
[018/906] * configure.ac: * sys/Makefile.am: * sys/glsink/Makefile.am: * sys/glsink/glimagesink.c: * sys/glsink/glimagesink.h: revival of glimagesink. Kind of works.
2014-03-15 18:36:16 +01:00
Jan Schmidt
a6b932af62
[017/906] * ext/audioresample/gstaudioresample.c: * ext/polyp/polypsink.c: (gst_polypsink_sink_fixate): * gst/librfb/gstrfbsrc.c: (gst_rfbsrc_fixate): * gst/modplug/gstmodplug.cc: * sys/glsink/glimagesink.c: (gst_glimagesink_fixate): * sys/v4l2/gstv4l2src.c: (gst_v4l2src_fixate): Rename gst_caps_structure_fixate_* to gst_structure_fixate_* ( #322027 )
2014-03-15 18:36:16 +01:00
Stefan Kost
78c55796e0
[016/906] * examples/indexing/indexmpeg.c: (main): * ext/artsd/gstartsdsink.c: (gst_artsdsink_open_audio), (gst_artsdsink_close_audio), (gst_artsdsink_change_state): * ext/artsd/gstartsdsink.h: * ext/audiofile/gstafparse.c: (gst_afparse_open_file), (gst_afparse_close_file): * ext/audiofile/gstafparse.h: * ext/audiofile/gstafsink.c: (gst_afsink_open_file), (gst_afsink_close_file), (gst_afsink_chain), (gst_afsink_change_state): * ext/audiofile/gstafsink.h: * ext/audiofile/gstafsrc.c: (gst_afsrc_open_file), (gst_afsrc_close_file), (gst_afsrc_change_state): * ext/audiofile/gstafsrc.h: * ext/cdaudio/gstcdaudio.c: (gst_cdaudio_init): * ext/directfb/directfbvideosink.c: (gst_directfbvideosink_init): * ext/dts/gstdtsdec.c: (gst_dtsdec_init): * ext/jack/gstjack.h: * ext/jack/gstjackbin.c: (gst_jack_bin_init), (gst_jack_bin_change_state): * ext/musepack/gstmusepackdec.c: (gst_musepackdec_init): * ext/musicbrainz/gsttrm.c: (gst_musicbrainz_init): * ext/nas/nassink.c: (gst_nassink_open_audio), (gst_nassink_close_audio), (gst_nassink_change_state): * ext/nas/nassink.h: * ext/polyp/polypsink.c: (gst_polypsink_init): * ext/sdl/sdlvideosink.c: (gst_sdlvideosink_change_state): * ext/sdl/sdlvideosink.h: * ext/smoothwave/gstsmoothwave.c: (gst_smoothwave_init): * ext/sndfile/gstsf.c: (gst_sf_set_property), (gst_sf_change_state), (gst_sf_release_request_pad), (gst_sf_open_file), (gst_sf_close_file), (gst_sf_loop): * ext/sndfile/gstsf.h: * ext/swfdec/gstswfdec.c: (gst_swfdec_init): * ext/tarkin/gsttarkindec.c: (gst_tarkindec_init): * gst/apetag/apedemux.c: (gst_ape_demux_init): * gst/cdxaparse/gstcdxaparse.c: (gst_cdxaparse_init): * gst/cdxaparse/gstcdxastrip.c: (gst_cdxastrip_init): * gst/festival/gstfestival.c: (gst_festival_change_state): * gst/festival/gstfestival.h: * gst/mpeg2sub/gstmpeg2subt.c: (gst_mpeg2subt_init): * gst/multifilesink/gstmultifilesink.c: (gst_multifilesink_init), (gst_multifilesink_set_location), (gst_multifilesink_open_file), (gst_multifilesink_close_file), (gst_multifilesink_next_file), (gst_multifilesink_pad_query), (gst_multifilesink_handle_event), (gst_multifilesink_chain), (gst_multifilesink_change_state): * gst/multifilesink/gstmultifilesink.h: * gst/videodrop/gstvideodrop.c: (gst_videodrop_init): * sys/cdrom/gstcdplayer.c: (cdplayer_init): * sys/dxr3/dxr3audiosink.c: (dxr3audiosink_init), (dxr3audiosink_open), (dxr3audiosink_close), (dxr3audiosink_chain_pcm), (dxr3audiosink_chain_ac3), (dxr3audiosink_change_state): * sys/dxr3/dxr3audiosink.h: * sys/dxr3/dxr3spusink.c: (dxr3spusink_init), (dxr3spusink_open), (dxr3spusink_close), (dxr3spusink_chain), (dxr3spusink_change_state): * sys/dxr3/dxr3spusink.h: * sys/dxr3/dxr3videosink.c: (dxr3videosink_init), (dxr3videosink_open), (dxr3videosink_close), (dxr3videosink_write_data), (dxr3videosink_change_state): * sys/dxr3/dxr3videosink.h: * sys/glsink/glimagesink.c: (gst_glimagesink_init): * sys/qcam/gstqcamsrc.c: (gst_qcamsrc_change_state), (gst_qcamsrc_open), (gst_qcamsrc_close): * sys/qcam/gstqcamsrc.h: * sys/v4l2/gstv4l2src.c: (gst_v4l2src_init): * sys/vcd/vcdsrc.c: (gst_vcdsrc_set_property), (gst_vcdsrc_get), (gst_vcdsrc_open_file), (gst_vcdsrc_close_file), (gst_vcdsrc_change_state), (gst_vcdsrc_recalculate): * sys/vcd/vcdsrc.h: renamed GST_FLAGS macros to GST_OBJECT_FLAGS moved bitshift from macro to enum definition
2014-03-15 18:36:16 +01:00
Jan Schmidt
cb9baa0736
[015/906] Fix up all the state change functions.
2014-03-15 18:36:16 +01:00
Jan Schmidt
dcafe8705e
[014/906] * ext/alsa/gstalsa.c: (gst_alsa_class_init), (gst_alsa_dispose), (gst_alsa_finalize): * ext/cdaudio/gstcdaudio.c: (gst_cdaudio_class_init), (gst_cdaudio_finalize): * ext/cdparanoia/gstcdparanoia.c: (cdparanoia_class_init), (cdparanoia_finalize): * ext/divx/gstdivxdec.c: (gst_divxdec_dispose): * ext/divx/gstdivxenc.c: (gst_divxenc_dispose): * ext/dvdread/dvdreadsrc.c: (dvdreadsrc_class_init), (dvdreadsrc_finalize): * ext/flac/gstflacdec.c: (gst_flacdec_class_init), (gst_flacdec_finalize): * ext/flac/gstflacenc.c: (gst_flacenc_class_init), (gst_flacenc_finalize): * ext/gnomevfs/gstgnomevfssink.c: (gst_gnomevfssink_class_init), (gst_gnomevfssink_finalize): * ext/gnomevfs/gstgnomevfssrc.c: (gst_gnomevfssrc_class_init), (gst_gnomevfssrc_finalize): * ext/libfame/gstlibfame.c: (gst_fameenc_class_init), (gst_fameenc_finalize): * ext/nas/nassink.c: (gst_nassink_class_init), (gst_nassink_finalize): * ext/sdl/sdlvideosink.c: (gst_sdlvideosink_finalize), (gst_sdlvideosink_class_init): * ext/sndfile/gstsf.c: (gst_sf_dispose): * gst-libs/gst/mixer/mixertrack.c: (gst_mixer_track_dispose): * gst-libs/gst/tuner/tunerchannel.c: (gst_tuner_channel_dispose): * gst-libs/gst/tuner/tunernorm.c: (gst_tuner_norm_dispose): * gst-libs/gst/xwindowlistener/xwindowlistener.c: (gst_x_window_listener_dispose): * gst/audioscale/gstaudioscale.c: * gst/playondemand/gstplayondemand.c: (play_on_demand_class_init), (play_on_demand_finalize): * gst/videofilter/gstvideobalance.c: (gst_videobalance_dispose): * gst/videoscale/gstvideoscale.c: (gst_videoscale_chain): * sys/cdrom/gstcdplayer.c: (cdplayer_class_init), (cdplayer_finalize): * sys/glsink/glimagesink.c: (gst_glimagesink_finalize), (gst_glimagesink_class_init): * sys/oss/gstosselement.c: (gst_osselement_class_init), (gst_osselement_finalize): * sys/oss/gstosssink.c: (gst_osssink_dispose): * sys/oss/gstosssrc.c: (gst_osssrc_dispose): * sys/v4l/gstv4lelement.c: (gst_v4lelement_dispose): Fixes a bunch of problems with finalize and dispose functions, either assumptions that dispose is only called once, or not calling the parent class dispose/finalize function
2014-03-15 18:36:16 +01:00
David Schleef
290cd7d03d
[013/906] * sys/glsink/glimagesink.c: (gst_glimagesink_ximage_put), (gst_glimagesink_xwindow_new), (gst_glimagesink_xcontext_get), (gst_glimagesink_fixate): Move local variable declarations to make gcc-2.95 happy.
2014-03-15 18:36:16 +01:00
David Schleef
435d10633f
[012/906] * sys/glsink/ARB_multitexture.h: Remove old files. * sys/glsink/EXT_paletted_texture.h: * sys/glsink/NV_register_combiners.h: * sys/glsink/gstgl_nvimage.c: * sys/glsink/gstgl_pdrimage.c: * sys/glsink/gstgl_rgbimage.c: * sys/glsink/gstglsink.c: * sys/glsink/gstglsink.h: * sys/glsink/gstglxwindow.c: * sys/glsink/regcomb_yuvrgb.c:
2014-03-15 18:36:16 +01:00
David Schleef
6d3b83f990
[011/906] Patch from Gernot Ziegler <gz@lysator.liu.se> rewriting the GL sink plugin. (Bug #147302 ) * configure.ac: Test for OpenGL * sys/Makefile.am: Use test for OpenGL * sys/glsink/Makefile.am: * sys/glsink/glimagesink.c: rewrite * sys/glsink/glimagesink.h: rewrite
2014-03-15 18:36:16 +01:00
Thomas Vander Stichele
0a52f9f6c3
[010/906] don't mix tabs and spaces
2014-03-15 18:36:15 +01:00
Johan Dahlin
cb6634af4f
[009/906] * *.h: Revert indenting
2014-03-15 18:36:15 +01:00
Thomas Vander Stichele
febb402b4b
[008/906] gst-indent
2014-03-15 18:36:15 +01:00
David Schleef
925dfd952a
[007/906] * ext/ffmpeg/gstffmpeg.c: * ext/ffmpeg/gstffmpegcodecmap.c: * ext/ffmpeg/gstffmpegdec.c: * ext/ffmpeg/gstffmpegenc.c: * ext/ffmpeg/gstffmpegprotocol.c: * ext/gdk_pixbuf/gstgdkanimation.c: * ext/jpeg/gstjpeg.c: * ext/libpng/gstpng.c: * ext/mpeg2dec/perftest.c: * ext/speex/gstspeex.c: * gst-libs/gst/resample/dtos.c: * gst/intfloat/gstintfloatconvert.c: * gst/oneton/gstoneton.c: * gst/rtjpeg/RTjpeg.c: * gst/rtp/gstrtp.c: * sys/dxr3/dxr3init.c: * sys/glsink/gstgl_nvimage.c: * sys/glsink/gstgl_pdrimage.c: * sys/glsink/gstglsink.c: * testsuite/gst-lint: Make sure everybody wraps #include "config.h" in #ifdef HAVE_CONFIG_H
2014-03-15 18:36:15 +01:00
David Schleef
b0b9f01a57
[006/906] Merge CAPS branch
2014-03-15 18:36:15 +01:00
Andy Wingo
7a4a1e955e
[005/906] remove copyright field from plugins
2014-03-15 18:36:15 +01:00
Ronald S. Bultje
a4baf571d9
[004/906] Remove all config.h includes from header files, add it to each source file and remove duplicate config.h includes from several source files
2014-03-15 18:36:15 +01:00
madmac
dab13af935
[003/906] updates to glsink
2014-03-15 18:36:15 +01:00
madmac
29e13787fe
[002/906] glsink with correct threading support
2014-03-15 18:36:15 +01:00
madmac
08c1bf4df8
[001/906] welcome to glsink for 0.7.x :)
2014-03-15 18:36:15 +01:00
Nicolas Dufresne
b6cd7c41e4
y4mdec: check for VIDEO meta instead of CROP meta
...
This element only need stride support, but checks for CROP_META, which
is a bit too much, even though this works as CROP imply having VIDEO
meta.
https://bugzilla.gnome.org/show_bug.cgi?id=726255
2014-03-15 15:22:42 +01:00
Edward Hervey
6629ca8f2b
tsdemux: Support Bluray DTS/DTS-HD and AC3+/TrueHD streams
...
Apart from just adding detection of the proper stream type, we also need to only
output the first substream (0x71) which contains the core substream.
While this does not provide *full* DTS-HD support (since it will miss the complementary
substreams), it will still work in the way legacy (non-DTS-HD) bluray players would work.
https://bugzilla.gnome.org/show_bug.cgi?id=725563
2014-03-15 18:09:12 +01:00
Sreerenj Balachandran
4d17166b03
mpegvideoparse: Differentiate the mpeg-2 stream from mpeg-1 based on pic_ext
...
Presence of picture extension header identifies the stream as mpeg2.
We are supposed to set the mpegversion to 2 if there is a picextension
instead of blindly setting the version to 1
https://bugzilla.gnome.org/show_bug.cgi?id=726028
2014-03-12 08:46:41 +01:00
Stefan Sauer
2a1add634c
audiomixer: set a group-id on the stream-start event
...
Set a default group-id to fix a warning printed by the sink.
2014-03-11 22:36:44 +01:00
Mathieu Duponchelle
09989e7c71
frei0rfilter: fix memory corruption on sink caps changes.
...
When the input size changed, the frei0r filters didn't take
it into account and ended up corrupting memory.
Fixes #726069
2014-03-11 16:49:11 +01:00
Matthieu Bouron
a6bfde1ea6
dvdspu: set proxy allocation flag on the video sink pad
...
https://bugzilla.gnome.org/show_bug.cgi?id=725893
2014-03-08 15:18:19 +01:00
Thijs Vermeir
3dedf16f50
rawparse: increase framerate to maxint
2014-03-05 11:20:27 +01:00
Thijs Vermeir
2923dbc29e
rawparse: increase maximum framerate
2014-03-05 10:54:47 +01:00
Sebastian Dröge
03043b7238
mpegdemux: Don't write after the end of the psm array when initialising it
2014-02-27 22:28:16 +01:00
Sebastian Dröge
93786477a5
id3tag: Remove unused function to fix compiler warning
2014-02-27 21:41:53 +01:00
Thiago Santos
2b3c3d485b
mpegtsmux: forward tags that have global scope
...
Instead of dropping all tag events
https://bugzilla.gnome.org/show_bug.cgi?id=644395
2014-02-26 10:26:57 -03:00
Thiago Santos
6b4ce0d04f
tsdemux: store global tags to push later
...
Keep a list of current global tags around and push them
whenever a new stream is started. Also convert all stream
specific tags to global as they are stream specific for
the container, so they are global for the streams from
within that container.
https://bugzilla.gnome.org/show_bug.cgi?id=644395
2014-02-26 10:26:57 -03:00
Edward Hervey
3bede97970
mpegpsdemux: Initialize PSM fully
...
Some gaps were missed in the previous version. Instead just initialize
the whole table to -1 first and then fill what needs to be specified.
2014-02-25 11:29:06 +01:00
Kipp Cannon
ba0a3f65eb
debugutilsbad.c fails gst-indent check
...
this patch is "gst-indent debugutilsbad.c"
https://bugzilla.gnome.org/show_bug.cgi?id=725090
2014-02-25 10:04:33 +01:00
Edward Hervey
fc34d163d8
mpegtsbase: Uncomment PAT clearup in _reset
...
The PAT is related to the stream, we therefore want it cleared along
with anything stream related.
This commented section was from the (old) mpegtsparse and *might* have
been related to speeding up DVB start-up. But we have another plan for that.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=724716
2014-02-21 14:07:51 +01:00
Edward Hervey
c229a87ac3
mpegtspacketizer: Fix ts_to_offset beyond last observed PCR
...
The requested TS might be beyond the last observed PCR. In order to calculate
a coherent offset, we need to use the last and previous-to-last groups.
https://bugzilla.gnome.org/show_bug.cgi?id=721035
2014-02-20 21:52:16 +01:00
Sebastian Dröge
835414c887
id3tag: Fix uninitialized variable compiler warning
...
error: variable 'image_type' is used uninitialized whenever
'if' condition is false [-Werror,-Wsometimes-uninitialized]
2014-02-08 18:48:42 +01:00
Sebastian Dröge
c2de786117
dvdspu: Remove unused variable
2014-02-08 18:45:10 +01:00
Edward Hervey
3e6c1967c9
mpegtspacketizer: Remove or move variable assignments
...
To where they're needed
2014-02-07 11:54:07 +01:00
Jesper Larsen
6a5f1354b3
mpegtsmux: Use mpeg-ts lib for PAT/PMT sections
...
Rewrite of the PAT/PMT section handling to use the mpeg-ts library
2014-02-06 15:57:50 +01:00
Jesper Larsen
93a8137be6
mpegtsmux: Add support for muxing SI tables
...
The muxer is now able to include DVB sections in the transport stream.
The si-interval property will determine how often the SI tables are
muxed into the stream.
The section is handled by the mpeg-ts library. Below is a small example
that will include a Netork Information Table with a Network Name
descriptor in the stream.
GstMpegTsNIT *nit;
GstMpegTsDescriptor *descriptor;
GstMpegTsSection *section;
GstElement *mpegtsmux;
gst_mpegts_initialize ();
nit = gst_mpegts_section_nit_new ();
nit->actual_network = TRUE;
descriptor = gst_mpegts_descriptor_from_dvb_network_name ("Network name");
g_ptr_array_add (nit->descriptors, descriptor);
section = gst_mpegts_section_from_nit (nit);
// mpegtsmux should be retrieved from the pipeline
gst_mpegts_section_send_event (section, mpegtsmux);
gst_mpegts_section_unref (section);
2014-02-06 15:55:46 +01:00
Edward Hervey
00bf61a0db
mpegtsdemux: Update plugin license field
...
The original code (old mpegtsparse) from which this plugin was based on
was dual-licensed. This allowed usage of the code under any of the
licenses (which including LGPL):
"""
* Alternatively, the contents of this file may be used under the terms of
* the GNU Lesser General Public License Version 2 or later (the "LGPL"),
* in which case the provisions of the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of the LGPL, and not to allow others to
* use your version of this file under the terms of the MPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of the MPL or the LGPL.
"""
When refactored (leading to the creation of this new plugin), I chose all
new code to be LGPL-only (which was allowed for pre-existing code) by removing
the MPL sections.
The headers were all updated, but not the plugin license field. This commit
fixes this.
2014-02-06 14:28:54 +01:00
Thiago Santos
cfda1aafa3
wrappercamerabinsrc: stop source to do internal reconfiguration safely
...
In order to be able to change the caps on multiple capsfilters the
source element needs to be stopped, otherwise it will get a few
reconfigure events and might try to renegotiate while the bin
is still transitioning its caps, leading to a not-negotiated failure
and the image capture won't happen because the source will be
unusable.
The solution is to keep the source in paused while the caps are being
changed in the bin, and then bring the element back to playing once
it is done. Unfortunately this increases the image capture latency,
but it should always work.
A possible improvement to reduce the latency is to add another signal
to be called before 'start-capture': 'prepare-capture'. At this step
the camera source should set all caps it needs and get the source
ready for doing the capture as soon as 'start-capture' is called.
This can be done on a future commit
2014-02-04 14:17:26 -03:00
Thiago Santos
3cdeea0cac
camerabin: remove unused variable
...
Probably a left over from 0.10 -> 1.x porting
2014-02-04 14:17:26 -03:00
Vincent Penquerc'h
2ae5adfd53
aiffparse: adaptive buffer size
...
Copied from wavparse, helps with CPU usage on high bitrate
files.
2014-02-04 10:48:55 +00:00
Vincent Penquerc'h
0c01e9812a
aiffparse: fix data start offset calculation not counting COMM size
...
In particular, this fixes seeking back to the start reading data
out of sync with sample start granularity, yielding swapped channels.
2014-02-02 14:35:18 +00:00
Thiago Santos
6b0014b5ac
gdp: add DTS to headers
2014-01-31 23:44:11 -03:00
Thiago Santos
a029a35036
gdppay: update to 1.x reality
...
* stream-start-id is mandatory at the beginning, so add that to the
gdp headers
* caps must be sent before new segment, invert the order from legacy
0.10 code
And fix the tests as a ref is now kept for those buffers that compose
the header
2014-01-31 23:44:11 -03:00
Colin Macdonald
c8eb403e38
fisheye: Fix documentation
...
https://bugzilla.gnome.org/show_bug.cgi?id=723398
2014-01-31 16:59:11 -05:00
Thibault Saunier
5fd9b42f29
h264parse: Default framerate to 0/1 when no informations found
...
It is not perfect but it allows us to be sure that the mandatory 'framerate'
field is present in the caps.
As soon as some information is found in the stream, that will be
updated.
https://bugzilla.gnome.org/show_bug.cgi?id=723243
2014-01-31 09:28:58 +01:00
Thiago Santos
e909e6a071
gdppay: push the stream-start event
...
instead of just swallowing upstream's stream-start into its
payload, push it as elements expect a stream-start before data
2014-01-30 18:18:18 -03:00
Sebastian Dröge
9682e44db6
tsdemux: We do not support the SKIP seek flag but that is not a problem
2014-01-30 20:29:58 +01:00
Amaury Medeiros
44a87d2109
tsdemux: Fix flags comparison operator precedence
...
Fix operator precedence, so the whole operation is
negated instead of only flags variable.
https://bugzilla.gnome.org/show_bug.cgi?id=722096
2014-01-28 13:56:44 +01:00
Sjoerd Simons
f6da7ea8bb
mxfdemux: Don't go into pull mode when the sequential flag is set
...
When the scheduling query results has GST_SCHEDULING_FLAG_SEQUENTIAL set
in its flags don't go into pull mode to prevent over-eager seeking.
https://bugzilla.gnome.org/show_bug.cgi?id=722934
2014-01-24 22:14:47 +01:00
Aurélien Zanelli
af78b45979
h264parse: Fix multiple SEI messages in one SEI RBSP parsing.
...
An SEI RBSP could contains more than one SEI message as specified in
7.4.2.3.1.
This commit change the parser API: the gst_h264_parser_parse_sei()
function now create and fill a GArray containing GstH264SEIMessage.
https://bugzilla.gnome.org/show_bug.cgi?id=721715
2014-01-23 20:18:53 +01:00
Justin Joy
99c2aa14c3
mpegtsmux: don't leak pad name when treating events
...
https://bugzilla.gnome.org/show_bug.cgi?id=722699
2014-01-22 10:07:11 +01:00
Wim Taymans
0bb2e2f74f
mpegpsmux: update last_ts to mux correctly
...
We use last_ts to decide what buffer to mux next so make sure that it
always contains the last known valid timestamp.
2014-01-21 11:19:13 +01:00
Wim Taymans
e58a00b2a2
mpegpsmux: fix timestamp handling
...
If the first buffer that we handle for a stream has no timestamp, we
would never consider this pad again for muxing which causes queues to
fill up and pipelines to stall. Instead, try to mux pads with -1
timestamps as soon as possible.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=722330
2014-01-20 16:25:51 +01:00
Wim Taymans
4e10667aad
mpegpsmux: return GST_FLOW_EOS when we pushed EOS
...
Return GST_FLOW_EOS from the collected function when we pushed EOS or
else it simply keeps on calling our collected function.
2014-01-20 16:23:49 +01:00
duhui.lee
cd8c0227c8
h265parse: Update caps when receive VPS/SPS/PPS
...
https://bugzilla.gnome.org/show_bug.cgi?id=722240
2014-01-20 10:05:18 +01:00
Andrey Utkin
0caa4cdfd8
tsdemux: Fix leak of PCROffsetGroup
...
https://bugzilla.gnome.org/show_bug.cgi?id=722462
2014-01-17 23:08:49 -03:00
Sebastian Dröge
dfd23a3182
audiomixer: Remove some useless assignments and skip the current part of the buffer if the pad is muted
2014-01-16 12:19:57 +01:00
Jan Schmidt
d52b0f922b
mpegdemux: Merge some changes from the resindvd copy
...
One bug fix, some debug changes and other inconsequential changes
just to reduce the diff between the 2 copies a bit.
2014-01-16 20:16:27 +11:00
Sebastian Dröge
aa3eb10cee
audiomixer: Fix and simplify overlap calculation
2014-01-15 23:30:57 +01:00
Andrey Utkin
4d957e53e4
tsdemux: fix memleak of PCROffsetCurrent
...
https://bugzilla.gnome.org/show_bug.cgi?id=722145
2014-01-14 10:33:44 +01:00
Stefan Sauer
dc2778734b
aiffparse: misc code cleanups
...
Fix the launch examples for 1.0. Turn more logging into _OBJECT variants.
2014-01-09 15:14:19 +01:00
Thiago Santos
4e283dbb62
mpeg4videoparse: do not lose DISCONT flag if buffer isn't pushed
...
mpeg4videoparse might not push buffers while parsing. If those buffers
contain the DISCONT flag, it gets lost and downstream won't get any
buffer with the flag.
Fix it by adding the DISCONT to the next pushed buffer.
This makes backwards playback work.
2014-01-08 16:50:38 -03:00
Sebastian Dröge
63fee31a3f
h265parse: Allows hvc1 version 0 and fix reading of NAL count in codec_data
2014-01-06 14:52:54 +01:00
Sebastian Dröge
57c195eed8
h265parse: Fix some more debug output
...
And don't access invalid memory
2014-01-06 14:48:26 +01:00
Sebastian Dröge
84bd65b9bd
tsdemux: Add HEVC / h265 support
2014-01-06 13:54:40 +01:00
Stefan Sauer
f12705b2f5
aiffparse: typo fix in comment
2014-01-05 23:45:34 +01:00
Jan Schmidt
14a56b6964
mpegtsmux: Don't disrupt buffer state in the clip function
...
Collectpads assumes that it can pass any buffer to the clip function
for adjustment, some of which are artificially injected - so don't
adjust global timestamp tracking there. Instead, only adjust the
buffer timestamps and use them directly in the collection function.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=698748
2013-12-31 23:23:18 +11:00
Edward Hervey
46cb19404d
jpegparse: Remove unneeded call
...
'parse' is already provided by the parent variable
2013-12-30 13:28:52 +01:00
Sebastian Dröge
2d17cd62ef
adpcmenc: Properly set output format
...
Otherwise this will just error out if we only set caps on the srcpad.
2013-12-23 15:33:42 +01:00
Sebastian Dröge
30c93d504c
audiomixer: Also resync timestamps on the RESYNC flag
2013-12-19 21:59:09 +01:00
Todd Agulnick
ccd9a9cb89
vc1parse: Some compiler warning fixes to satisfy XCode compiler
...
https://bugzilla.gnome.org/show_bug.cgi?id=720513
2013-12-16 16:53:25 +01:00
Sebastian Dröge
a27d8d00a6
id3tag: Read image-description from the info structure, not the caps
2013-12-16 16:07:44 +01:00
Sebastian Dröge
2ce2017650
id3tag: Write image-type into the APIC tag
2013-12-16 11:51:00 +01:00
Sebastian Dröge
b3f198b67d
vc1parse: Post VIDEO_CODEC tag
2013-12-16 10:25:22 +01:00
Sebastian Dröge
3faa8920ce
pngparse: Post VIDEO_CODEC tag
2013-12-16 10:24:28 +01:00
Sebastian Dröge
6fbc101d19
mpegvideoparse: Use pbutils API to create the VIDEO_CODEC tag string
2013-12-16 10:22:24 +01:00
Sebastian Dröge
188b445fdd
mpeg4videoparse: Post VIDEO_CODEC tag
2013-12-16 10:21:00 +01:00
Sebastian Dröge
843de8ddf4
h265parse: Post VIDEO_CODEC tag
2013-12-16 10:19:36 +01:00
Sebastian Dröge
6934c7e2fc
h264parse: Post VIDEO_CODEC tag
2013-12-16 10:18:23 +01:00
Sebastian Dröge
bdfaf62a4a
h263parse: Post VIDEO_CODEC tag
2013-12-16 10:16:14 +01:00
Sebastian Dröge
e65b9b974a
diracparse: Post VIDEO_CODEC tag
2013-12-16 10:13:56 +01:00
Thiago Santos
821c3edca8
asfparse: add timestamps to packets
...
re-enable the code that adds timestamps to packets after baseparse's
port
2013-12-14 03:56:44 -03:00
Thiago Santos
04134671c9
asfparse: port to baseparse
...
asfparse was not really functional after the port to 1.0
Now porting it to baseparse to get it working again
2013-12-14 03:56:44 -03:00
Benjamin Gaignard
6cf1f629a3
dvbsuboverlay: fix reading of display window in display definition segment
...
From ETSI EN 300 743 V1.3.1 (2006-11) 7.2.1 Display definition segment specifictations
the parameters of display window are in this order: Xmin, Xmax, Ymin, Ymax.
Signed-off-by: Benjamin Gaignard <benjamin.gaignard@linaro.org>
Signed-off-by: Pierre-Yves Mordret <pierre-yves.mordret@st.com>
https://bugzilla.gnome.org/show_bug.cgi?id=720382
2013-12-13 23:51:12 +00:00
Olivier Crête
4a5a1e568e
vmcndec: Add missing header file
...
Forgot to add header file to previou commit
2013-12-06 21:11:32 -05:00
Olivier Crête
60d3af6fbd
vmncdec: Port to GStreamer 1.0 API
2013-12-06 20:58:48 -05:00
Olivier Crête
5733a04766
stereo: Port to GStreamer 1.0 API
2013-12-06 17:58:13 -05:00
Olivier Crête
06ed17674e
jp2kdecimator: Port to GStreamer 1.0 API
2013-12-06 17:10:59 -05:00
Olivier Crête
0a970f1cd1
rtpasfpay: Use GstRTPBasePayload method to push buffer
...
This way the event is also pushed.
https://bugzilla.gnome.org/show_bug.cgi?id=719553
2013-12-05 16:51:00 -05:00
Sebastian Dröge
e83a9b62e7
adpcmdec: Require caps to be set before any data processing
2013-12-05 12:05:21 +01:00
Sebastian Dröge
08852721cb
sirendec: Require caps to be set before any data processing
2013-12-05 12:05:09 +01:00
Wim Taymans
9ac2cee2db
videoparsers: use ACCEPT_INTERSECT
...
We can also accept caps with missing fields.
2013-12-04 09:49:20 +01:00
Wim Taymans
e9dd2df3f4
videoparsers: remove fields from filter
...
Don't filter out the caps properties we can convert between when
proxying the getcaps query to the downstream peer pad.
2013-12-04 09:49:20 +01:00
Wim Taymans
d5a16bccac
videoparsers: refactor remove_fields in getcaps
2013-12-04 09:49:20 +01:00
Sebastian Dröge
9945e2bee6
geometrictransform: G_DEFINE_TYPE() already calls g_type_class_peek_parent() for us
2013-12-02 10:28:28 +01:00
Sebastian Dröge
426c26f708
geometrictransform: Remove empty GObject::finalize() implementations
...
Also don't use GST_DEBUG_FUNCPTR for GObject vfuncs
2013-12-02 10:26:32 +01:00
Antonio Ospite
8de96a2fbb
geometrictransform: Add a 2D perspective transform plugin
...
The perspective plugin applies a 2D perspective (also called projective)
transform to the frame buffer.
A perspective transform can be used for instance to perform keystone
correction when playing the content with a video projector.
https://bugzilla.gnome.org/show_bug.cgi?id=710810
2013-12-02 10:20:45 +01:00
Tim-Philipp Müller
c58dd9df73
asfmux: microoptimisation: avoid unnecessary gst_buffer_get_size() calls
2013-12-01 22:32:09 +00:00
Tim-Philipp Müller
a27b79cbe4
rtpasfpay: init rtp buffer fixing rtp packet creation
...
https://bugzilla.gnome.org/show_bug.cgi?id=719553
2013-11-29 13:23:40 +00:00
Tim-Philipp Müller
bc7989071f
asfmux: don't use buffer after giving away ownership
...
https://bugzilla.gnome.org/show_bug.cgi?id=719553
2013-11-29 13:22:56 +00:00
Lubosz Sarnecki
ef9d363dfe
pngparse: Don't try to set framerate if not from upstream
...
https://bugzilla.gnome.org/show_bug.cgi?id=715166
2013-11-28 17:54:35 -05:00
Sebastian Dröge
1b747bfecb
h264parse: Fix splitting of multiple NALU per buffer
...
Conversion to byte-stream/nal crashes without that because the
baseparse frame of all NALUs is finished for the first NALU, then
used again for parsing the second NALU. Just that now the buffer
of the frame is already gone. Instead we create temporary frames
for every NALU.
2013-11-28 15:10:16 +01:00
Jan Schmidt
d92b6f7995
dvdspu: Don't unmap an unreffed buffer
...
gst_dvd_spu_finish_spu_buf drops the reference to the current
buffer, so make sure to call gst_buffer_unmap before it.
2013-11-25 15:17:33 +11:00
Mark Nauwelaerts
db915754c1
dvdspu: pop new packet when invalid next command block
...
... to prevent staying stuck on current command block and busy looping.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=712219
2013-11-23 14:35:06 +01:00
Mark Nauwelaerts
fac0f1f668
mpeg4videoparse: accept VideoObjectLayer as start of frame and config
...
... which it deserves as much as VideoObject.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=667564
2013-11-23 11:29:23 +01:00
Jan Schmidt
c336f7642c
dvdspu: Handle vobsub packets smaller than 4 bytes
...
In particular, handle the case of an empty packet with size 0 bytes.
Partially fixes : #712643
2013-11-21 02:21:01 +11:00
Thibault Saunier
da4f9c18ec
mpegtsmux: Fix compilation when debug is disabled
2013-11-14 09:02:35 -03:00
Thibault Saunier
07ba033943
pngparse: Proxy upstream framerate on srcpad if avalaible
...
If the user sets it himself with capsfilter, the information should be
kept and transmitted downstream.
2013-11-13 17:56:09 -03:00
Thibault Saunier
b148c22cec
mpegtsmux: Properly add subtitle descriptor for DVb subpicture subtitles
...
We were adding an empty descriptor for them and it was not possible to
actually use them on muxed streams.
2013-11-13 17:56:07 -03:00
Mark Nauwelaerts
830a4aa7f4
mpegvideoparse: look beyond start code before leaping
...
In case more data than a start code alone is needed to decide whether
it ends a frame, arrange for more input data and decide when available.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=711627
2013-11-11 16:34:46 +01:00
Mark Nauwelaerts
a3d658915b
mpegvideoparse: tweak extension handling
2013-11-11 13:36:02 +01:00
Mark Nauwelaerts
b57981d15b
mpgegdemux: do not use pushed buffer in debug message
2013-11-11 13:36:02 +01:00
Matej Knopp
4930dc40cd
mpegvideoparse: check for same TSN only for interlaced streams (fixes unit test)
...
https://bugzilla.gnome.org/show_bug.cgi?id=711721
2013-11-09 15:34:51 +01:00
Sebastian Dröge
ed295e83c2
Revert "mpegvparse: Fix last start code position when input buffer is empty"
...
This reverts commit 7c23a6f23c
.
The fix was not complete, see discussion in
https://bugzilla.gnome.org/show_bug.cgi?id=711627
2013-11-09 09:43:56 +01:00
Greg Rutz
7c23a6f23c
mpegvparse: Fix last start code position when input buffer is empty
...
When the input buffer is empty and we need more data to determine
whether or not to terminate the previous frame, the last start code
location needs to be set to 4 bytes before the the current position
(size of start_code is 32-bits)
https://bugzilla.gnome.org/show_bug.cgi?id=711627
2013-11-07 19:10:39 +01:00
Sebastian Dröge
24ba7af5fa
audiomixer: Fix EOS handling if we have some pending data
2013-11-07 14:12:00 +01:00
Thiago Santos
e7e7417523
camerabin: Make sure video-done is post only when file is closed
...
Force filesink to null before posting video-done to make sure the
file was closed.
Had to do it from a separate thread to avoid calling state_change from
a sync message handler.
https://bugzilla.gnome.org/show_bug.cgi?id=709373
2013-11-06 22:13:54 -03:00
Sreerenj Balachandran
d844832ec3
videoparsers: add H.265 HEVC video parser element
...
https://bugzilla.gnome.org/show_bug.cgi?id=708438
2013-11-06 23:14:22 +00:00
Wim Taymans
c7e705dd13
aiffparse: fix seeking in push mode
2013-11-06 17:32:33 +01:00
Sebastian Dröge
fefda44161
audiomixer: Don't take channel mask in consideration in mono or stereo
...
This could cause negotiation to fail.
https://bugzilla.gnome.org/show_bug.cgi?id=708633
2013-11-06 15:50:08 +01:00
Sebastian Dröge
caeaade700
audiomixer: Add new element based on adder that does synchronized audio mixing
2013-11-06 15:35:38 +01:00
Sebastian Dröge
010fd8a471
yadif: Fix compiler warning caused by specifying const twice
...
yadif.c:49:24: warning: duplicate 'const' declaration specifier [-Wduplicate-decl-specifier]
DECLARE_ASM_CONST (16, const xmm_reg, pb_1) = {
^
yadif.c:33:50: note: expanded from macro 'DECLARE_ASM_CONST'
#define DECLARE_ASM_CONST(n,t,v) static const t __attribute__((used)) __attribute__ ((aligned (n))) v
^
yadif.c:52:24: warning: duplicate 'const' declaration specifier [-Wduplicate-decl-specifier]
DECLARE_ASM_CONST (16, const xmm_reg, pw_1) = {
^
yadif.c:33:50: note: expanded from macro 'DECLARE_ASM_CONST'
#define DECLARE_ASM_CONST(n,t,v) static const t __attribute__((used)) __attribute__ ((aligned (n)))
2013-11-01 10:41:16 +01:00
Sebastian Dröge
411cf48db7
yadif: Fix build with XCode
...
https://bugzilla.gnome.org/show_bug.cgi?id=710451
2013-11-01 10:40:06 +01:00
Sreerenj Balachandran
ab3f7d6096
h264parse: Remove the explicit PAR calculation based on VUI headers
...
The PAR calculation based on VUI headers is already doing by the
h264 codecparser and we does't need to duplicate those code.
https://bugzilla.gnome.org//show_bug.cgi?id=711009
2013-10-31 23:00:58 +01:00
Antonio Ospite
fa12af3d01
rotate: Fix angle property help text
...
The help text of the angle property was probably copied from the circle
plugin, fix it to mention the rotation determined by the angle.
https://bugzilla.gnome.org/show_bug.cgi?id=710391
2013-10-31 22:35:58 +01:00
Antonio Ospite
ae2231624c
geometrictransform: Fix setting black background for AYUV buffers
...
When the frame buffer is AYUV writing all zeros does not set it to
black, in YUV colorspace 0x10 is the black level for luminance and 0x80
is the black level for chrominance.
Fix setting the background to black when the out_frame format is AYUV;
in all the other supported formats zeroing the data with memset is still
the right thing to do.
https://bugzilla.gnome.org/show_bug.cgi?id=710392
2013-10-31 15:03:30 +01:00
Edward Hervey
0baac2ffb9
h264parse: Unify value setting
...
the initial par_n = par_d = 0; was always overwritten since the switch/case
handles all values
And remove the 0 case (it's the same handling as default)
2013-10-28 09:35:20 +01:00
Edward Hervey
77f254abb3
h264parse: Avoid ending up with undefined values
...
If caps aren't fixed, we'd end up with undefined values for format
and align.
2013-10-28 09:33:16 +01:00
Edward Hervey
64592da3e9
tsdemux: Demote GST_ERROR to GST_WARNING
...
discontinuities are not errors per-se and we handle them correctly.
2013-10-28 09:15:20 +01:00
Matthieu Bouron
e7687dbaa2
mpegtsmux: fix uninitialized variable warning
...
https://bugzilla.gnome.org/show_bug.cgi?id=710759
2013-10-25 12:26:23 +01:00
Matthieu Bouron
84fbc08c25
mpegtsdemux: fix uninitialized variable warning
...
https://bugzilla.gnome.org/show_bug.cgi?id=710759
2013-10-25 12:26:23 +01:00
Edward Hervey
70d83b323b
mpegtspacketizer: Skip packets with corrupted length
...
This is similar to what we do for packets with payload
2013-10-11 10:34:17 +02:00
Edward Hervey
5e50cd507c
tsdemux: Refactor language tag extraction
...
subtitling descriptor needs to be used with a different method to extract
language codes.
2013-10-11 10:29:20 +02:00
Sebastian Dröge
f0b5d84c54
speed: Fix some bytes-per-frame vs. bytes-per-sample mixups
...
Otherwise we will crash when handling multiple channels and
miscalculate timestamps.
https://bugzilla.gnome.org/show_bug.cgi?id=709734
2013-10-09 17:18:41 +02:00
Stefan Sauer
0d54e5857f
mpegpsdemux: log time format as name instead of the number
2013-10-08 09:05:36 +02:00
Jesper Larsen
b6d33e5ce4
tsdemux: Use mpegts-lib for ISO 639 language tags
...
https://bugzilla.gnome.org/show_bug.cgi?id=709180
2013-10-07 10:23:22 +02:00
Jesper Larsen
279bdef4ea
tsdemux: Return descriptor in get_descriptor
...
https://bugzilla.gnome.org/show_bug.cgi?id=709180
2013-10-07 10:23:22 +02:00
Matej Knopp
f489ae5d55
dvdspu: handle sticky dvd events
...
palette-changed events are now sticky.
https://bugzilla.gnome.org/show_bug.cgi?id=709454
2013-10-05 10:50:15 +01:00
Sebastian Dröge
4b5d560092
h264parse: Fix conversion to AVC if a SPS/PPS not from the first indizes is used
...
https://bugzilla.gnome.org/show_bug.cgi?id=707974
2013-10-03 13:26:06 +02:00
Michael Olbrich
93ec45a6df
liveadder: round when calculation length from duration
...
liveadder sometimes calculates the offsets incorrectly before adding. The
resulting errors can easily be heard when mixing silence with a sine.
I'm not sure what the exact conditions are to trigger this, but it definitively
happens when the buffers of two streams have a different duration and buffer
length and duration don't match exactly for one stream because of rounding
errors (e.g. duration=0:00:00.021333333)
I have to admit, I got lost in the math somewhere but it seems that not
rounding in gst_live_adder_length_from_duration() causes 1 sample overlaps in
consecutive buffers from the same stream.
When using gst_util_uint64_scale_int_round() instead of just truncating the
sine sound correctly again.
https://bugzilla.gnome.org/show_bug.cgi?id=708345
2013-09-28 13:31:13 +02:00
Steve Maynard
17ed696faa
mpegts: Add SCTE/EISS sections and table types
...
https://bugzilla.gnome.org/show_bug.cgi?id=708688
2013-09-28 13:15:44 +02:00
Edward Hervey
0e9ce593bf
tsdemux: Wait for valid PCR/offset obvervations
...
It is quite possible that we might get PTS/DTS before the first
PCR/Offset observation.
In order to end up with valid timestamp we wait until at least one
stream was able to get a proper running-time for any PTS/DTS.
Until then, we queue up the pending buffers to push out.
Once we see a first valid timestamp, we re-evaluate the amount of
running-time elapsed (based on returned inital running-time and amount
of data/DTS queued up) for any given stream.
Taking the biggest amount of elapsed time, we set that on the packetizer
as the initial offset and recalculate all pending buffers running-time
PTS/DTS.
Note: The buffer queueing system can also be used later on for the
dvb fast start proposal (where we queue up all stream packets before
seeing PAT/PMT and then push them once we know if they belong to the
chosen program).
2013-09-28 13:15:43 +02:00
Edward Hervey
2762ead5ef
mpegtsdemux: New PCR<=>Offset estimation code
...
This allows:
* Better duration estimation
* More accurate PCR location
* Overall more accurate running-time location and calculation
Location and values of PCR are recorded in groups (PCROffsetGroup)
with notable PCR/Offset observations in them (when bitrate changed
for example). PCR and offset are stored as 32bit values to
reduce memory usage (they are differences against that group's
first_{pcr|offset}.
Those groups each contain a global PCR offset (pcr_offset) which
indicates how far in the stream that group is.
Whenever new PCR values are observed, we store them in a sliding
window estimator (PCROffsetGroupCurrent).
When a reset/wrapover/gap is detected, we close the current group with
current values and start a new one (the pcr_offset of that new group
is also calculated).
When a notable change in bitrate is observed (+/- 10%), we record
new values in the current group. This is a compromise between
storing all PCR/offset observations and none, while at the same time
providing better information for running-time<=>offset calculation
in VBR streams.
Whenever a new non-contiguous group is start (due to seeking for example)
we re-evaluate the pcr_offset of each groups. This allows detecting as
quickly as possible PCR wrapover/reset.
When wanting to find the offset of a certain running-time, one can
iterate the groups by looking at the pcr_offset (which in essence *is*
the running-time of that group in the overall stream).
Once a group (or neighbouring groups if the running-time is between two
groups) is found, once can use the recorded values to find the most
accurate offset.
Right now this code is only used in pull-mode , but could also
be activated later on for any seekable stream, like live timeshift
with queue2.
Future improvements:
* some heuristics to "compress" the stored values in groups so as to keep
the memory usage down while still keeping a decent amount of notable
points.
* After a seek compare expected and obtained PCR/Offset and if the
difference is too big, re-calculate position with newly observed
values and seek to that more accurate position.
Note that this code will *not* provide keyframe-accurate seeking, but
will allow a much more accurate PCR/running-time/offset location on
any random stream.
For past (observed) values it will be as accurate as can be.
For future values it will be better than the current situation.
Finally the more you seek, the more accurate your positioning will be.
2013-09-28 13:15:43 +02:00
Edward Hervey
5017ba84a7
mpegtspacketizer: No longer use a private struct
...
These are not public headers, it just adds complexity for no reason
2013-09-28 13:15:43 +02:00
Sebastian Dröge
d7c7f54734
mpegtsparse: Queue buffers until we have enough to know the caps
...
https://bugzilla.gnome.org/show_bug.cgi?id=708222
2013-09-27 16:10:54 +02:00
Arnaud Vrac
467e0151d3
mpegtspacketizer: rework TS packet sync and extraction
...
The previous code could enter an infinite loop because the adapter state
could get out of sync with its mapped data state after sync was lost.
The code was pretty confusing so it's been rewritten to be clearer.
The easiest way to reproduce the infinite loop is to use the breakmydata
element before tsdemux to trigger a resync.
https://bugzilla.gnome.org/show_bug.cgi?id=708161
2013-09-27 15:17:24 +02:00
Arnaud Vrac
85ad4f3ad6
tsdemux: fix buffer overflow
...
This can happen with a corrupt TS file, found with breakmydata element
plugged before tsdemux.
https://bugzilla.gnome.org/show_bug.cgi?id=708161
2013-09-27 15:10:23 +02:00
Sebastian Dröge
f33a73b359
sdpdemux: Change rank to NONE until it can be autoplugged properly
...
https://bugzilla.gnome.org/show_bug.cgi?id=702495
2013-09-23 16:19:05 +02:00
Sebastian Dröge
92c696b22a
audiofxbad: Change plugin name to audiofxbad from audiochannelmix
2013-09-19 20:17:01 +02:00
Sudip Jain
27739e8bb6
mpegtspacketizer: Correct condition check for current next indicator
...
https://bugzilla.gnome.org/show_bug.cgi?id=708106
2013-09-16 11:00:16 +02:00
Wim Taymans
b15177645b
rawparse: fix event order
...
Delay forwarding the segment event until we pushed caps.
Send STREAM_START in pull mode.
2013-09-12 14:14:03 +02:00
Thiago Santos
efb27f19ec
tsdemux: respect seqnums on seeks
...
Pass the seqnum to other events that are consequence of the
original seek event
2013-09-10 19:44:24 -03:00
Matej Knopp
a41e8698b1
h264parse: don't update src caps if only codec_data differs
...
https://bugzilla.gnome.org/show_bug.cgi?id=705333
2013-09-09 15:09:10 +02:00
Alex Ashley
31d1c05871
h264parse: Add support for stream-format=avc3
...
When outputting in AVC3 stream format, the codec_data should not
contain any SPS or PPS, because they are embedded inside the stream.
In case of avc->bytestream h264parse will push the SPS and PPS from
codec_data downstream at the start of the stream, at intervals
controlled by "config-interval" and when there is a codec_data change.
In the case of avc3->bytstream h264parse detects that there is
already SPS/PPS in the stream and sets h264parse->push_codec to FALSE.
Therefore avc3->bytstream was already supported, except for the stream
type.
In the case of bystream->avc h264parse will generate codec_data caps
from the parsed SPS/PPS in the stream. However it does not remove these
SPS/PPS from the stream. bytestream->avc3 is the same as bytestream->avc
except that the codec_data must not have any SPS/PPS in it.
|--------------+-------------+-------------------|
|stream-format | SPS in-band | SPS in codec_data |
|--------------+-------------+-------------------|
| avc | maybe | always |
|--------------+-------------+-------------------|
| avc3 | always | never |
|--------------+-------------+-------------------|
Amendment 2 of ISO/IEC 14496-15 (AVC file format) is defining a new
structure for fragmented MP4 called "avc3". The principal difference
between AVC1 and AVC3 is the location of the codec initialisation
data (e.g. SPS, PPS). In AVC1 this data is placed in the initial MOOV box
(moov.trak.mdia.minf.stbl.stsd.avc1) but in AVC3 this data goes in the
first sample of every fragment.
https://bugzilla.gnome.org/show_bug.cgi?id=702004
2013-09-04 13:32:36 +02:00
Tim-Philipp Müller
310a633afb
mpegpsdemux: minor clean-up
2013-09-02 23:28:38 +01:00
Matej Knopp
e43d1959a8
mpegdemux: send events on pads that are not linked
...
Someone might be waiting for certain events with a probe.
https://bugzilla.gnome.org/show_bug.cgi?id=707317
2013-09-02 23:24:08 +01:00
Edward Hervey
865ad4cdad
h264parse: Use codecparsers macros
...
note: I/SI also covers the S_I/S_SI variants
2013-08-30 09:05:43 +02:00
Sebastian Dröge
03420d1e2a
Release 1.1.4
2013-08-28 13:07:27 +02:00
Tim-Philipp Müller
cf791f6cb0
mpegtsdemux: fix possible read beyond end of buffer when resyncing
2013-08-27 17:05:44 +01:00
Matthieu Bouron
4b10f278b6
h264parse: only update src CAPS when it's necessary
...
https://bugzilla.gnome.org/show_bug.cgi?id=705452
2013-08-27 15:00:45 +02:00
Matthieu Bouron
43dcebe2a0
h264parse: do not set CAPS and passthrough mode if SPS/PPS have not been parsed
...
https://bugzilla.gnome.org/show_bug.cgi?id=705452
2013-08-27 15:00:35 +02:00
Edward Hervey
fd4fd13dc8
tsdemux: Refuse negative rates which we don't support yet
...
And remove a check which was done before
2013-08-21 14:44:38 +02:00
Jesper Larsen
e4a0c4d509
mpegtsmux: Set the program number from prog-map
...
The prog-map property of mpegtsmux only allows you to group pids together in a program.
The program number set in the PAT/PMT tables cannot be set explicitly.
This patch will set the program number according to the prog-map.
If a program id of 0 is given, the first vacant program number starting from 1 will be used.
https://bugzilla.gnome.org/show_bug.cgi?id=697239
2013-08-21 13:02:02 +02:00
Edward Hervey
d6b55b8a66
mpegtsbase: Adapt for latest mpegts lib changes
2013-08-21 08:59:42 +02:00
Edward Hervey
7667b79205
ivtc: Use input framerate when possible
...
if input is 30000/1001 ... use 24000/1001 as the output fixated framerate
2013-08-20 16:02:59 +02:00
Matthieu Bouron
f0eda4b54c
id3mux: handle publisher, interpreted-by and musical-key tags
...
https://bugzilla.gnome.org/show_bug.cgi?id=705999
2013-08-20 14:45:22 +02:00
Sebastian Dröge
32a65dc5f3
mpegvideoparse: Fix switch statement in level detection code
...
Properly fall through the cases without re-assigning the level to
the wrong value.
https://bugzilla.gnome.org/show_bug.cgi?id=706369
2013-08-20 13:30:15 +02:00
Edward Hervey
ce81c4eb48
jpegparse: Forward segment event after caps
...
Store it until we know what our caps are.
2013-08-20 10:16:00 +02:00
Tim-Philipp Müller
63d629aba5
aiffparse: don't leak adapter
2013-08-17 00:25:49 +01:00
Matthieu Bouron
ddcfe3ddf3
aiffparse: s/newsegment/segment/
...
https://bugzilla.gnome.org/show_bug.cgi?id=705993
2013-08-17 00:25:49 +01:00
Matthieu Bouron
d69b6e53e4
aiffparse: fix push mode
...
Fix push mode by handling sink events (CAPS, SEGMENT) properly.
https://bugzilla.gnome.org/show_bug.cgi?id=705993
2013-08-17 00:25:49 +01:00
Olivier Crête
27bceba4ad
mpeg4videoparse: Reparse the config if the size changed
...
Also only re-issue the caps update if the part of the config that
changed is one we care about.
2013-08-16 15:46:18 -04:00
Tim-Philipp Müller
e861c72efc
interaudiosrc: make silence memory actually contain silence
...
instead of random data. Reported by Marco Micheletti on
gstreamer-devel.
2013-08-14 18:19:21 +01:00
Edward Hervey
21ebc7708d
pesparse: Refactory secondary PES extension handling
...
Some streams had wrong values for the stream_id_extension, make sure
we only remember the valid ones.
For streams with PES_extension_field_length == 0, assume there's nothing
else.
For streams that state they have a TREF extension but don't have enough
data to store it, just assume it was produced by a non-compliant muxer
and skip the remaining data.
Only store remaining data in stream_id_extension_data instead of storing
data we already parse.
2013-08-14 13:41:37 +02:00
Zaheer Abbas Merali
131c263248
pcapparse: Remove unneeded unref and only set pad caps if we have caps
...
Fixes crashes due to invalid unrefs.
https://bugzilla.gnome.org/show_bug.cgi?id=705957
2013-08-14 10:48:26 +02:00
Edward Hervey
ddee83ef0b
pesparse: Fix pes extension data length check
...
And remove length/data updates (we use the header size just below to
properly set them).
Based on feedback from Stas Sergeev <stsp@list.ru>
https://bugzilla.gnome.org/show_bug.cgi?id=657343
2013-08-14 10:39:46 +02:00
Edward Hervey
5208b8a050
pesparse: Remove unused argument
...
We always provided 0 as the offset and never used the returned value.
Based on feedback from Stas Sergeev <stsp@list.ru>
https://bugzilla.gnome.org/show_bug.cgi?id=657343
2013-08-14 10:33:14 +02:00
Matej Knopp
e5ebd7d846
mpegvideoparse: support field encoding for interlaced video
...
https://bugzilla.gnome.org/show_bug.cgi?id=705144
2013-08-13 14:00:57 +02:00
Sreerenj Balachandran
b4c52425f2
vc1parse: Fix the SequenceLayer handling for advanced profile.
...
The Sequence Header Data Structure STRUCT_C for Advanced Profile
has only a one valid field which is the profile indicator. Don't
use the reserved fields for fps update like Simple/Main profile.
https://bugzilla.gnome.org/show_bug.cgi?id=705667
2013-08-12 16:12:52 +01:00
Sreerenj Balachandran
ea213f826c
vc1parse: Fix seq hdr STRUCT_A handling for advanced profile.
...
The Sequence Header Data Structure STRUCT_A for advanced profile
may be eight consecutive zero bytes.Don't try to override the
width and height values in this case.
https://bugzilla.gnome.org/show_bug.cgi?id=705667
2013-08-12 16:12:52 +01:00
Matthieu Bouron
0d4c2f42e9
aiffparse: fix SSND data size
...
AIFF chunk size does not include the chunk header size (8 bytes), so the
SSND data size is equal to the chunk size minus the SSND header size (8
bytes).
https://bugzilla.gnome.org/show_bug.cgi?id=705675
2013-08-12 16:12:51 +01:00
Arnaud Vrac
c4140f9c25
mpegdemux: send codec tag for each stream
2013-08-12 14:32:09 +02:00
Tim-Philipp Müller
ed69b2896f
aiffparse: fix CAPS query
...
Was causing criticals in decodebin/playbin because the caps
query done when exposing pads would return ANY caps.
2013-08-10 19:44:15 +01:00
Tim-Philipp Müller
48734bd522
aiffparse: don't unref NULL buffer
2013-08-10 19:43:41 +01:00
Matthieu Bouron
8c4241e546
aiffparse: set missing layout field in srcpad caps
...
https://bugzilla.gnome.org/show_bug.cgi?id=705674
2013-08-09 23:41:30 +01:00
Matthieu Bouron
5a066fd6dd
aiffparse: send start stream event
...
https://bugzilla.gnome.org/show_bug.cgi?id=705674
2013-08-09 23:40:08 +01:00
Matthieu Bouron
86edc51333
aiffparse: fix buffers initialisation
...
https://bugzilla.gnome.org/show_bug.cgi?id=705674
2013-08-09 23:36:33 +01:00
Edward Hervey
8074a48594
h264parse: Use slice type to determine if frame is keyframe
...
This is the same behaviour as pre-baseparse-refactoring
https://bugzilla.gnome.org/show_bug.cgi?id=705598
2013-08-09 08:42:43 +02:00
Edward Hervey
b17676a1d5
h264parse: Do not trigger caps update if we only have PPS updates
...
Updating caps results in downstream elements potentially reconfiguring themselves
(such as decoders). If we do this in the middle of keyframes, we would result
in those elements being reconfigured and handling garbage until the next keyframe.
Instead of this only send (potentially) new codec_data when we have *both* SPS and
PPS.
https://bugzilla.gnome.org/show_bug.cgi?id=705333
2013-08-04 12:08:57 +02:00
David Schleef
5b63a7c8e0
ivtc: quiet FIXME when it's not relevant
2013-08-03 23:29:10 -07:00
David Schleef
d5f1ddad85
ivtc: implement new edge-directed upsampling
2013-08-03 23:29:10 -07:00
Edward Hervey
3b60f88437
mpegtspacketizer: Look harder for next sync position
...
If ever we lose sync, we were just checking for the next 0x47 marker ...
which might actually happen within a mpeg-ts packet.
Instead check for 3 repeating 0x47 at the expected packet size interval,
which the same logic we use when we initially look for the packet size.
2013-08-02 10:41:25 +02:00
Edward Hervey
c28acaa3c5
mpegtspacketizer: Fix PCR LUT table
...
We were only resetting the first 512 values of the lookup table instead
of the whole 8192.
This resulted in any PCR PID over 0x0200 ... ending up taking the first PCR
table around :(
2013-08-02 10:41:25 +02:00
Tim-Philipp Müller
646ba6b3df
mpegts: private/teletext -> application/x-teletext
2013-07-30 16:08:17 +01:00
Sebastian Dröge
f2b14c68d5
midi: Fix handling of the SEGMENT query
2013-07-29 12:17:57 +02:00
Sebastian Dröge
6812f96de4
gst: Don't swap start/stop for negative rates in the SEGMENT query
2013-07-29 12:14:08 +02:00
Sebastian Dröge
38e832cdef
mpegdemux: Implement SEGMENT query
2013-07-29 11:02:55 +02:00
Sebastian Dröge
12981a5d82
tsdemux: Implement SEGMENT query
2013-07-29 11:02:55 +02:00
Sebastian Dröge
6b78fa336d
mxfdemux: Implement SEGMENT query
2013-07-29 11:02:54 +02:00
Edward Hervey
97426a1caa
all: Fix for GST_DISABLE_GST_DEBUG
...
Where applicable, remove methods that don't do anything different than
the default implementation.
2013-07-29 09:42:12 +02:00
Edward Hervey
3ee8aa2c2d
h264parse: Show NALU string type in debug messages
...
If you know the NALU type by heart I tip my hat to you, for the rest of
us mere mortals this is a bit more helpful
2013-07-29 09:42:12 +02:00
Edward Hervey
a45aa8fe48
tsdemux: Remove unused macros
2013-07-29 09:42:12 +02:00
Edward Hervey
edd69b2989
tsdemux: Add more AC3 detection cases
...
ATSC ac3 streams are always guaranteed to be AC3 if EAC3 descriptor
is not present
If stream registration id is 'AC-3' then it's also guaranteed to be AC3.
Finally if AC3 descriptor is present it's guaranteed to be AC3.
Only silences a warning, but still.
2013-07-29 09:42:11 +02:00
Edward Hervey
a76c658e8d
tsdemux: Flush out pending data on EOS
...
Ensures downstream elements (like decoders) really get all the data
2013-07-29 09:42:11 +02:00
Edward Hervey
ca77865bce
mpegtspacketizer: More AFC flags
...
I should have put those in a previous commit. sorry :(
2013-07-29 09:42:11 +02:00
Edward Hervey
cea403eaa5
mpegdefs: Simplify PCR/PTS/DTS => GST conversion macros
...
We know we will not overflow 64 bits, therefore just use direct
multiplication/division instead of the scale method (trims usage from
50 instruction calls to 2/3).
2013-07-29 09:42:11 +02:00
Matej Knopp
f42176b877
dvdspu: artifacts when rendering clipped spu
...
https://bugzilla.gnome.org/show_bug.cgi?id=705039
2013-07-29 08:43:25 +02:00
Matej Knopp
bcff370c43
mpegvideoparse: do not update caps when bitrate changes
...
https://bugzilla.gnome.org/show_bug.cgi?id=705035
2013-07-29 08:41:50 +02:00
Edward Hervey
e6ebd9024e
tsdemux: HDV only has mpeg 1 audio layer 2
...
Set that accordingly on the caps
2013-07-27 12:18:36 +02:00
Edward Hervey
2c4f994db4
asfmux: Various debug argument fixes
...
mainly G_GUINT16_FORMAT to ... the right type (guint32 or guint8)
2013-07-27 06:39:16 +02:00
Edward Hervey
8c60e42070
mpegtsdemux: Add more flag debugging for PES and TS packets
...
Helps with debugging issues. And also remove unused variable (opcr)
This will also allow us in the future to properly detect:
* random-access location (to enable keyframe observation and
potentially seeking
* discont location (to properly handle resets)
* splice location (to properly handle new stream changes)
2013-07-26 08:17:17 +02:00
Edward Hervey
dbe350d380
pesparse: Demote a Warning
...
We actually now know what to do ... have a log message :)
2013-07-26 06:46:41 +02:00
Vincent Penquerc'h
5c82a510d9
mpegtsmux: avoid using clipped out buffers
...
If a buffer was entirely clipped out (ie, it's out of the segment
entirely), we'll end up with a NULL buffer, which we don't want
to process/dereference.
2013-07-25 15:06:12 +01:00
Edward Hervey
1f7fa9be1d
tsdemux: Remember requested seek rate and use it
...
The new seek handling re-creates the segment time information once it
has enough information after a seek.
The problem was that we'd completely ignore the requested rate. So store
that and use it in the newly created segment.
https://bugzilla.gnome.org/show_bug.cgi?id=694369
2013-07-24 15:51:46 +02:00
Edward Hervey
06717150bf
mpegvideoparse: Fix codec_data handling
...
Set to sequence_offset so that _process_config accepts it.
(btw: seq_offset usage throughout this plugin is really dodgy)
https://bugzilla.gnome.org/show_bug.cgi?id=702806
2013-07-23 18:16:32 +02:00
Edward Hervey
069a497d19
tsdemux: Create and send codec tag
...
Helps with applications that rely on presence of that tag for user-facing
information.
https://bugzilla.gnome.org/show_bug.cgi?id=702216
2013-07-23 15:11:51 +02:00
Sebastian Dröge
46e85b4a6c
mxfdemux: Add support for group-id in the stream-start event
2013-07-23 10:33:31 +02:00
Sebastian Dröge
44e404fe41
tsdemux: Add support for group-id in the stream-start event
2013-07-23 10:33:31 +02:00
Sebastian Dröge
2a1877909f
tsparse: Add support for group-id in the stream-start event
2013-07-23 10:33:31 +02:00
Sebastian Dröge
4ec7baa61a
mpegdemux: Add support for group-id in the stream-start event
2013-07-23 10:33:31 +02:00
Sebastian Dröge
a68733ea91
midiparse: Add support for group-id in the stream-start event
2013-07-23 10:33:31 +02:00
Tim-Philipp Müller
580a94d18b
interlace: fix negotiation if filter caps are passed to query_caps
...
Make videotestsrc ! interlace ! $anything work again. Problem
was that upstream filter caps were passed which contained
interlace-mode=progressive, which doesn't intersect too well
with interlace's source pad template caps, leading to
not-negotiated errors.
2013-07-22 17:32:50 +01:00
Olivier Crête
6a1896d805
h264parse: Don't abort on invalid streams
...
Just return an error
2013-07-22 16:27:16 +02:00
Edward Hervey
1db3d40a4b
mpegvideoparse: Only map input buffer once
...
Instead of constantly map/unmapping it a bit everywhere, we pass along
to all functions the GstMapInfo.
Makes mpeg video frame parsing 6% faster
https://bugzilla.gnome.org/show_bug.cgi?id=702330
2013-07-22 10:46:23 +02:00
Douglas Bagnall
dfb101e0ed
tsdemux: disentangle requested program number from active program number
...
The program_number attribute was overloaded, trying to indicate both
the currently playing program, and the program requested via the
"program-number" property. The end result was that setting the
property didn't work (see #690934 ).
I added a new requested_program_number field rather than reviving the
current_program_number field because it seemed this would result in
fewer changes overall and be less confusing. It breaks symmetry with
the "program-number" property, but it retains parallels with the likes
of program->program_number.
Because gst_ts_demux_reset is called after the properties have been
parsed, requested_program_number is initialised in gst_ts_demux_init.
Whether this is exactly the right place, I don't know.
2013-07-22 09:53:46 +02:00
Jesper Larsen
8e4f966018
tsdemux: fix program-number functionality
...
Setting the program-number property does not affect which program
is actually being demuxed.
Moving the initialization of the program_number from
gst_ts_demux_reset to gst_ts_demux_init seems to fix this issue.
https://bugzilla.gnome.org/show_bug.cgi?id=690934
2013-07-22 09:53:46 +02:00
Arnaud Vrac
506abb06e2
mpegdemux: do not push discont buffers if they aren't discont
...
Explicitly unset discont flag when it shouldn't be set.
https://bugzilla.gnome.org/show_bug.cgi?id=682110
2013-07-17 18:36:30 +01:00
Tim-Philipp Müller
ff495342f2
h263parse: fix height extraction for H263p
2013-07-15 23:04:35 +01:00
Tim-Philipp Müller
79249be0aa
h263parse: add pixel-aspect-ratio if upstream doesn't provide one
2013-07-15 23:04:35 +01:00
Edward Hervey
1b1b3a40d7
mpegtsdemux: Remember seek sequence number
...
* Avoids handling twice the same seek (can happen with playbin and files
with subtitles)
* Set the sequence number of the segment event to the sequence number of
the seek event that generated it (-1 for the initial one).
2013-07-15 11:20:40 +02:00
Arnaud Vrac
024aa47f64
tsdemux: implement seeking in push mode
2013-07-15 11:20:40 +02:00
Arnaud Vrac
388c28381f
tsdemux: recalculate new segment after byte seek
...
The seeking start time is approximated from the seek offset in bytes
using the accumulated PCR observations, so on a VBR stream there might
be a big difference between the actual PCR and the estimated one after
the seek. This might result in a long wait to skip all out of segments
packets.
Instead we just recalculate the new segment to start at the first PTS
after the seek, so that playback starts immediatly.
2013-07-15 10:51:28 +02:00
Sreerenj Balachandran
654744a03c
mpegvideoparse: Use sequence_display_extension values to update the src caps
...
The caps should always represent what the user is supposed to see.
So if there is a sequence_display_extension associated with the
stream then use the display_horizontal_size/display_vertical_size
to update the src caps (if they are less than the values provided
by sequence header).
https://bugzilla.gnome.org/show_bug.cgi?id=704009
2013-07-12 10:06:05 +02:00
Sebastian Dröge
1e7b3a8c9e
Release 1.1.2
...
Oops... should've been part of 1.1.2 tag already :(
2013-07-12 09:46:11 +02:00
Sebastian Dröge
f83e9405de
mpegpsmux: Send stream-start event before any data
2013-07-10 12:28:38 +02:00
Edward Hervey
8ca1751f00
mpegtsdemux: Avoid parsing section without enough data
...
This is actually a workaround (we'll be skipping the upcoming section)
This will only happen for sections where the beginning is located within
the last 8 bytes of a packet (which is the minimum we need to properly
identify any section beginning).
Later we should figure out a way to store those bytes and mark that
some analysis needs to happen. The probability of this happening is
too low for me to care right now and do that fix. There is a good chance
that section will eventually be repeated and won't end up on such border.
2013-07-09 12:25:11 +02:00
Edward Hervey
2fb7b87140
mpegtsdemux: Avoid vmethod calls
...
Depending on usage, tsparse and tsdemux might not need to be called
when new section/pes-data is available.
2013-07-09 12:25:11 +02:00
Edward Hervey
61b30175b3
mpegtsdemux: Remove unneeded variables
...
* packet.origts is no longer used since the PCR refactoring done ages ago
* known_packet_size is a duplicate of packet_size != 0
* caps was never used outside of the packetizer
2013-07-09 12:25:11 +02:00
Gwenole Beauchesne
18984f98dd
h264parser: fix size caps to report cropped dimensions.
...
Restore the original h264parser behaviour to report cropped dimensions
in size caps.
https://bugzilla.gnome.org/show_bug.cgi?id=694068
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2013-07-09 12:15:07 +02:00
Edward Hervey
f58f13e874
mpegtsdemux: Fix multiple-SI detection/parsing
...
We had two issues with the previous code:
1) We were badly handling PUSI-flagged packets. We were discarding the
initial data (if pointer != 0) whereas we should have been accumulating
it with the previous data (if there was a continuity of course).
=> First series of information loss
2) We were not checking whether there were more sections after the end
of one (i.e. when the following byte was not a stuff byte).
This fixes those two issues.
Fixes #677443
https://bugzilla.gnome.org/show_bug.cgi?id=677443
2013-07-07 08:29:37 +02:00
Edward Hervey
513417e0ff
mpegtbase: Fix switch/case typo
...
Ended up trying to analyze PMT ... with a PAT :(
2013-07-07 07:21:46 +02:00
Edward Hervey
1c96c79b88
mpegtsdemux: Handle private section streams
...
Until now we simply ignored those streams (since we couldn't do anything
with it anyway). Now that we have the mpegts library and we offload the
section handling to the application side we can properly identify and
extract them.
By default it is disabled for tsparse and enabled for tsdemux, but there is
a property to change that.
This should open the way to properly handle all private section streams,
including:
* DSM-CC
* MHEG
* Carousel data
* Metadata streams (though I haven't seen any of those in the wild)
* ... And all other specs/protocols making use of those
Partially fixes #560631
2013-07-06 14:50:52 +02:00
Edward Hervey
a3b6b1a951
mpegtsdemux: Handle registration descriptor for programs and streams
...
* Allows us to simplify some code and prepare for future cleanups.
* Remove useless casts
* Add some FIXME regarding VC1
2013-07-06 10:59:54 +02:00
Brendan Long
f53e66f4c6
webvttenc: Separate cues with two line breaks instead of one.
...
See http://dev.w3.org/html5/webvtt/#syntax
https://bugzilla.gnome.org/show_bug.cgi?id=703673
2013-07-05 18:32:43 +01:00
Gwenole Beauchesne
d10acd3879
mpegvideoparse: cope with new parser API.
...
Migrate the code to use the new parser API based on GstMpegVideoPacket.
Also try to optimize gst_mpegv_parse_process_config() by using more of
GstMpegVideoPacket and determining the extension_start_code_identifier
prior to calling the parser function for that extension packet.
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2013-07-05 17:39:28 +02:00
Edward Hervey
9da7551993
mpegtsbase: Remove no-longer needed code
...
Since we now send all sections to the packetizer, we no longer need to do
anymore in-depth checks for the validity of a section.
The choice boils down to:
1) Is it from a known PES pid ? If so pass it on (which might be just pushing
downstream in the case of tsparse, or accumulating PES data for tsdemux)
2) Is it from a known SI pid ? If so pass it to the section packetizer
2013-07-05 17:25:17 +02:00
Edward Hervey
b7bba5658a
mpegtsdemux: Fix compilation with debugging disabling
...
We previously weren't using that variable ...
2013-07-05 10:57:34 +02:00
Edward Hervey
7814ed196b
mpegtsdemux: Switch to using GstMpegTsStreamType
...
We still have some other stream types which haven't been ported, but
we will do so once we have defined the enums in the mpegts library.
Also add some FIXMEs regarding items discovered during analysis
2013-07-04 08:45:32 +02:00
Edward Hervey
1f2bb15618
mpegtsdemux: GstMpegTS => GstMpegTs
2013-07-03 14:00:58 +02:00
Edward Hervey
92edd82c86
mpegtsdemux: Switch to MPEG-TS SI library
...
* Only mpeg-ts section packetization remains.
* Improve code to detect duplicated sections as early as possible
* Add FIXME for various issues that need fixing (but are not regressions)
https://bugzilla.gnome.org/show_bug.cgi?id=702724
2013-07-03 09:17:25 +02:00
Andoni Morales Alastruey
977bf98b44
frei0r: add the build prefix path in the search dirs
2013-06-28 12:40:52 +02:00
Edward Hervey
358a68e65b
mpegdesc: Extend list of known descriptors
...
Add the various ATSC ones
2013-06-24 14:55:28 +02:00
Edward Hervey
26689fc437
mpegtsbase: Only warn for added streams when needed
...
We use add_stream(stream_type:-1) to ensure a programs' PCR Stream is
also taken into account. For most programs this will re-use an
existing ES stream.
So only warn that we are re-adding a stream if it was already present
AND it is not to ensure the PCR stream is taken into account.
2013-06-24 08:24:58 +02:00
Edward Hervey
f9b3b46ab5
mpegtspacketizer: Speed up section parsing
...
Only create subtables when needed. It was previously creating one every
single time ... to check if one was present.
And speed up code to detect whether a subtable was already present or not.
Overall makes section pushing 2 times faster.
2013-06-24 07:49:34 +02:00
Edward Hervey
15e3afc099
mpegdesc: Extend list of known descriptors
...
From ITU-T H222.0 (06/2012). Freely available from itu.int
2013-06-24 07:49:34 +02:00
Edward Hervey
9fd7f1c082
mpegtspacketizer: Speedup packet parsing
...
Avoid using bitshifting where not needed.
Speeds up packet parsing by 3% (this is *the* hotspot of mpeg-ts elements).
2013-06-24 07:49:34 +02:00
Edward Hervey
0592bcc3c9
mpegtspacketizer: Better detect already seen section
...
In some cases (NIT on highly-populated DVB-C operator for example), there
will be more than one section emitted for the same subtable and version
number.
In order not to lose those updates for the same version number, we checked
against the CRC of the previous section we parsed.
The problem is that, while it made sure we didn't lose any information, it
also meant that if the same section came back (same version, same CRC) later
on we would re-process it, re-parse it and re-emit it.
This version improves on that by keeping a list of previously observed CRC
for identical PID/subtable/version-number and will only process sections if
they really were never seen in the past (as opposed to just before).
On a 30s clip, this brings down the number of NIT section parsing from 4541
down to 663.
https://bugzilla.gnome.org/show_bug.cgi?id=614479
2013-06-23 09:06:15 +02:00
Edward Hervey
c0ce94dbf2
mpegtspacketizer: Speed up NIT parsing
...
Avoid duplicating the delivery structure, and instead give it to the
receiving container.
2013-06-19 19:31:12 +02:00
Edward Hervey
40bcf48b0c
mpegtbase: simplify code
...
We don't need generic methods for push/flush since we know all the
subclass that we control
2013-06-19 12:29:47 +02:00
Edward Hervey
79e63e3daf
mpegtsdemux: Fix for compiling without GST_DEBUG
...
Protect debug-only variables/usage, and in one case remove a useless
variable.
2013-06-19 12:29:46 +02:00
Edward Hervey
e66d543f00
tsparse: Ensure initial events are sent in the right order
...
First send stream-start, then caps, then segment.
The segment we push is from upstream in push-mode. If we work in pull-mode
then we initialize the base segment to BYTES.
https://bugzilla.gnome.org/show_bug.cgi?id=702422
2013-06-19 07:40:28 +02:00
Sebastian Dröge
d50625eeb0
mpegvideoparse: Make sure the buffer is writable before we add the MPEG video meta
...
https://bugzilla.gnome.org/show_bug.cgi?id=702174
2013-06-14 14:53:52 +02:00
Arnaud Vrac
a5402d6eeb
tsdemux: fix M2TS stream resync
...
Sync byte scan is incorrect for M2TS streams because the timestamp 4
bytes were not included in the flush size. This can result in an
infinite loop.
Rework the scan code to be clearer and work in all cases.
2013-06-12 08:01:24 +02:00
Arnaud Vrac
065d421d34
tsdemux: move some debug prints at the log level
2013-06-12 08:01:20 +02:00
Josep Torra
28a2902a7b
tsdemux: fixes seeking in pull mode
...
Preserve the current segment and observations in pull mode seeks with
flushing.
https://bugzilla.gnome.org/show_bug.cgi?id=698050
2013-06-12 08:01:06 +02:00
Hans de Goede
28e64d1031
wrappercamerabinsrc: Add video-source-filter during construction
...
By adding the video-source-filter during construction time, rather then
patching it in later (*), we can greatly reduce the amount of caps involved
in negotation, speeding up pipeline creation.
I wrote this while working on speeding up the startup of cheese. My cheese
has been modified to add a capsfilter, filtering for only the configured
resolution, with that cheese patch + this patch, the pipeline creation time
goes from aprox 1.1 seconds to aprox 350ms. This is with a Logitech 9000
pro camera, which supports lots of different resolutions at many different
framerates per resolution, causing a caps "explosion" if not filtered.
*) Note the code for this is left in, as it is still necessary if the
video-source-filter is changed between a stop + re-start.
https://bugzilla.gnome.org/show_bug.cgi?id=701953
2013-06-11 12:47:53 +02:00
Hans de Goede
8dc7fae455
wrappercamerabinsrc: Don't unset the video-source property on pipeline start
...
check_and_replace_src() was setting self->app_vid_src to NULL, which
means that an app setting the video-source property, and then starting,
stopping and re-starting the pipeline (ie to make changes to the
video-source-filter property) would after the restart no longer have
a video-source.
This patch fixes this by making gst_camerabin_setup_default_element return a
ref to the passed in user_element, rather then returning the user_element as
is, so that that ref can be passed on to the bin, and the app_vid_src ref
stays valid.
https://bugzilla.gnome.org/show_bug.cgi?id=701915
2013-06-10 16:16:29 +02:00
Sebastian Dröge
c383dd6420
rfb: Link with libgstbase for GstPushSrc
2013-06-07 15:18:15 +02:00
Alban Browaeys
44b1bc6081
mpegdemux: accept ID_PRIVATE_STREAM_1 to avoid loosing sync
...
Current fallback to lost_sync seems to impede a delay to restore
sync. Let the parser parse and skip the private stream.
Here it contains the digital camera brand (in 2010 bytes)
and is repeated twice.
https://bugzilla.gnome.org/show_bug.cgi?id=697283
2013-06-07 12:57:03 +02:00
Ilya Smelykh
ef0e051e7d
h264parse: Wait until SPS/PPS before outputting any data
...
https://bugzilla.gnome.org/show_bug.cgi?id=646327
2013-06-07 12:10:08 +02:00
Sebastian Dröge
37427ccaef
Release 1.1.1
2013-06-05 18:29:49 +02:00
Edward Hervey
0809770d26
mpegtspacketizer: Fix leak
...
Since we were manually setting GValue to the GValueArray, we also need
to specify how many were set, otherwise all values in the array will
be leaked.
2013-06-05 15:23:18 +02:00
Edward Hervey
877019ae00
mpegtspacketizer: Speedup TDT/TOT parsing
...
Use quarks where needed, makes it 2.5 times faster
2013-06-05 13:39:14 +02:00
Edward Hervey
824f08d1d8
mpegtspacketizer: Fix string leak
...
The description/text get copied in the structure.
2013-06-05 13:21:29 +02:00
Edward Hervey
f3bf40e2b0
mpegtspacketizer: Speed up descriptor parsing/packing
...
descriptors are stored as a GValueArray of GString. The downside is
that there is no way to "pass" ownership of a GValue to a GValueArray
which previously resulted in expensive copy/free of the (already expensive)
GString.
Here we estimate first the size of the GValueArray, then create it,
then directly use the GValue of that array.
Speeds up total SI parsing by ~30%
2013-06-05 12:49:09 +02:00
Edward Hervey
e6f0986b9e
mpegtspacketizer: Use gst_value_list_append_and_take_value
...
Avoids doing the expensive copy of structures/arrays/...
Speeds up parsing SI by about 50%
2013-06-05 12:48:05 +02:00
Edward Hervey
b378b7e9d6
mpegtspacketizer: Avoid copying GValueArray
...
Just give the GValueArray to the container GValue.
2013-06-05 11:27:05 +02:00
Sebastian Dröge
b8cb2b4d79
midiparse: In pull mode drop SEGMENT, CAPS and STREAM_START events
...
We create and send our own later from another thread.
2013-05-28 15:55:25 +02:00
Sebastian Dröge
357779d3c6
midiparse: Push stream-start event before anything else
2013-05-28 15:55:25 +02:00
Stefan Sauer
116f7c0a77
audiochannelmix: fill in the author template
...
The copyright header still contained the author template.
2013-05-26 14:29:54 +02:00
Michael Rubinstein
e6c8224609
mpegtsdemux: Free memory behind GString if we don't use it
...
https://bugzilla.gnome.org/show_bug.cgi?id=700903
2013-05-25 15:49:21 +02:00
Edward Hervey
ce441cbff7
mpegtsbase: Post an error message when EOS'ing without source pads
...
This ensures we don't "hang" when files can't be decoded, or contain
no valid streams.
2013-05-23 14:59:34 +02:00
Edward Hervey
7837cab44e
tsdemux: Demote a warning to debug level
...
We will get it for virtually every first packets.
2013-05-23 14:59:34 +02:00
David Schleef
35018ae632
audiofx: Add plugin, add audiochannelmix
2013-05-18 14:02:18 -07:00
Tim-Philipp Müller
a204ddd225
videosignal: fix CFLAGS order
2013-05-18 12:21:59 +01:00
Sebastian Dröge
f0a1935119
mpegtsmux: Push stream-start event before anything else
2013-05-15 11:38:35 +02:00
Sebastian Dröge
a5ac2d3aee
audiovisualizer: Enable GLib deprecation warnings again
2013-05-15 11:02:29 +02:00
Sebastian Dröge
3d09d0068d
audiovisualizer: Negotiate as soon as possible when getting the sinkpad caps
2013-05-15 11:00:46 +02:00
Sebastian Dröge
3de73279df
asfmux: Send stream-start event
2013-05-15 10:56:20 +02:00
Tim-Philipp Müller
f0039c6dc3
nsf: remove nsf plugin, replaced by gme plugin
...
https://bugzilla.gnome.org/show_bug.cgi?id=648021
2013-05-14 00:14:34 +01:00
David Schleef
e5288a2464
intervideosrc: Fix timestamp generation
2013-05-11 12:07:36 -07:00
Tim-Philipp Müller
146e78ffdb
rfbsrc: post error messages on errors
2013-05-11 19:42:31 +01:00
David Schleef
e79b977fdb
videofilters: Add videodiff element
2013-05-10 17:40:17 -07:00
David Schleef
4b7f0d99f0
y4mdec: set timestamps when restriding buffer
2013-05-10 17:40:17 -07:00
David Schleef
4a88eebe0e
videomark/detect: rename to simplevideomark[detect]
2013-05-10 17:31:10 -07:00
David Schleef
b3ff0630e8
videomark/detect: port to 1.0
2013-05-10 17:31:10 -07:00
Tim-Philipp Müller
4cfa3f5af3
rfbsrc: fix rfbdecoder new/free asymetry and wrong free in error case
...
If rfb_decoder_new() allocates the decoder sructure, rfb_decoder_free()
should free the structure. We should not free the decoder when an
error occurs during connection - it holds lots of configuration/state
and will be freed later in finalize.
2013-05-11 00:36:06 +01:00
Tim-Philipp Müller
14d20271c1
rfbsrc: make authentication handshake safe for multiple instances
...
Move DES key into context struct.
2013-05-11 00:29:40 +01:00
Tim-Philipp Müller
0fc4af8498
rfbsrc: remove GPL-licensed source file
...
and replace the 1% of it that we need with new code, so we
don't have to change the runtime license of rfbsrc to GPL.
2013-05-10 23:11:05 +01:00
Aleix Conchillo Flaque
90e006513a
rfbsrc: use glib gio sockets for network access
...
https://bugzilla.gnome.org/show_bug.cgi?id=700038
2013-05-10 20:52:29 +01:00
Aleix Conchillo Flaque
42783e676e
rfbsrc: port to 1.0
...
https://bugzilla.gnome.org/show_bug.cgi?id=700038
2013-05-10 20:43:16 +01:00
Greg Rutz
4d4fd09a3a
mpegtsmux: Fix memory leak when using prepare_func
...
prepare_func will allocate a new buffer to replace the original
one. Instead of using gst_buffer_replace (which causes an extra
refcount increment on the new buffer), we just unref the original
buffer.
https://bugzilla.gnome.org/show_bug.cgi?id=699786
2013-05-07 16:37:49 +02:00
Matej Knopp
946ffd0da5
mpegvideoparse: don't compare buffer size when checking whether to update caps
...
https://bugzilla.gnome.org/show_bug.cgi?id=699398
2013-05-03 12:52:18 +02:00
Tim-Philipp Müller
f1a6d84a6c
mpegvideoparse: don't announce incomplete source caps
...
Don't send any source caps yet if we're still in
drop-buffers-until-we-get-a-sequence-header mode.
Fixes transmuxing of many MPEG-TS/PS streams into
formats which require things like width, height or
codec_data on the input caps.
Also fixes issues when using playbin with decoder
sinks that want width/height etc.
https://bugzilla.gnome.org/show_bug.cgi?id=695879
2013-05-01 17:42:11 +01:00
Olivier Crête
6e5db57d24
liveadder: Document that the latency is in milliseconds
...
Bug #698896
2013-04-26 15:33:18 -04:00
Edward Hervey
65ba9b4756
tsdemux: convert packet PTS/DTS as soon as possible
...
We let the mpegtspacketizer deal with pcr wraparound/resets.
https://bugzilla.gnome.org/show_bug.cgi?id=674536
2013-04-26 15:49:18 +02:00
Edward Hervey
05b51dfec0
mpegtsdemux: header cleanups/updates
2013-04-26 15:49:18 +02:00
Josep Torra
b946de7211
h264parse: Update src pad caps when it was explicitly signaled
...
Fixes src pad caps aren't updated when converting from AVC to bytestream
and new caps had been received in the sink pad.
https://bugzilla.gnome.org/show_bug.cgi?id=698679
2013-04-26 10:38:36 +02:00
Thiago Santos
d8b8809d57
tsdemux: Fix caps string leak
2013-04-24 12:28:17 +02:00
Wim Taymans
57ed87f51b
aiff: port to 1.0
2013-04-18 17:18:49 +02:00
Greg Rutz
2306d51d9d
tsdemux: Add support for Motorola DigiCipher II MPEG2 video
...
Since there is a conflict between the DCII stream type and BluRay
stream types, moved the processing of BluRay-specific stream types
to the beginning of the function. Only if a BluRay stream type
IS NOT found do we proceed to check the rest of the stream type
identifiers
Previous code was also "sort-of" handling a similar conflict between
BluRay AC3 audio and standard AC3 audio. Moved the special case BluRay
AC3 handling in the main switch statement to the new BluRay-specific
switch.
https://bugzilla.gnome.org/show_bug.cgi?id=697892
2013-04-18 09:30:58 +02:00
Youness Alaoui
ece3d1c2f6
h264parse: Do not check for VUI parameters if they were not present in the SPS
2013-04-16 19:58:06 -04:00
David Schleef
303a2eaec4
mpegtsdemux: check value before using as denominator
2013-04-15 17:05:30 -07:00
Sebastian Dröge
e51cd4fe2f
gst: Add better support for static plugins
2013-04-15 15:59:22 +02:00
Wim Taymans
9699a974ca
sdpdemux: fix timeout value
...
Timeout on udpsrc is in nanoseconds in 1.0
2013-04-15 09:28:05 +02:00
Alexander Olsson
90229af34c
jpegparse: accept any jpeg input - parsed, unparsed or unmarked
...
The src element may not include information about whether
the data is parsed or not. Hence do not require parsed=false.
Fixes multipartdemux ! jpegparse ! ...
https://bugzilla.gnome.org/show_bug.cgi?id=697884
2013-04-13 13:54:52 +01:00
David Schleef
8552396c36
videoanalyse: port to 1.0
2013-04-12 14:11:09 -07:00