Commit graph

6334 commits

Author SHA1 Message Date
Sebastian Dröge a3489ffa83 mxfdemux: Compare positions to find the earliest pad, not flow returns 2014-05-27 12:24:43 +02:00
Thiago Santos ae839d8dc2 mxfdemux: use GstFlowCombiner
Removes flow return combination code to use the newly added GstFlowCombiner

https://bugzilla.gnome.org/show_bug.cgi?id=709224
2014-05-26 23:29:43 -03:00
Thiago Santos 6dc571b5cf mpegdemux: use GstFlowCombiner
Removes flow return combination code to use the newly added GstFlowCombiner

https://bugzilla.gnome.org/show_bug.cgi?id=709224
2014-05-26 23:29:43 -03:00
Thiago Santos b66012a586 tsdemux: use GstFlowCombiner
Removes flow return combination code to use the newly added GstFlowCombiner
2014-05-26 23:29:43 -03:00
Aurélien Zanelli 2c3e7b6352 h264parse: use new gst_h264_video_calculate_framerate() to get framerate
https://bugzilla.gnome.org/show_bug.cgi?id=723352
2014-05-22 16:12:36 +02:00
Aurélien Zanelli a9dfa354f6 h264parse: set field_pic_flag when parsing a slice header
field_pic_flag was used but never set to other value than its default

https://bugzilla.gnome.org/show_bug.cgi?id=730363
2014-05-22 15:54:04 +02:00
Sebastian Dröge 46016ccd14 Release 1.3.2 2014-05-21 13:06:35 +02:00
Wim Taymans d80630f011 bayer: fix unused variable 2014-05-20 11:42:35 +02:00
Sebastian Dröge 5fc8820d8c freeverb: Don't pass floats to abs() but instead cast them to ints first
gstfreeverb.c:781:29: error: using integer absolute value function 'abs' when
      argument is of floating point type [-Werror,-Wabsolute-value]
    if (abs (out_l2) > 0 || abs (out_r2) > 0)
2014-05-19 11:34:42 +02:00
Tim-Philipp Müller f8d63c5ad9 mxfdemux: post error message when erroring out on unsupported essence wrapping 2014-05-14 00:25:09 +01:00
Edward Hervey 1b5e514a05 mpegtbase: Small rewrite
Setting done was useless anyway
2014-05-13 13:54:23 +02:00
Edward Hervey 93ef3f9b24 vmndec: Don't leak output state
_set_output_state returns a reference to the codec state.

CID #1212170
2014-05-13 11:38:44 +02:00
Edward Hervey bc918d1466 sdpdemux: Don't leak adapter data
CID #1212158
2014-05-13 11:35:46 +02:00
Edward Hervey 2495f700bd mpegpsmux; Fix stream leak
CID #1212164
2014-05-13 11:30:35 +02:00
Edward Hervey 1d01afc166 jp2kdecimator: Don't leak various slices and arrays
CID #1212139
CID #1212140
CID #1212141
2014-05-13 11:28:00 +02:00
Edward Hervey 6baeb94dce asfmux: Don't leak bytereader
By making it go through the error path that takes care of cleanups

CID #1212168
2014-05-13 11:19:24 +02:00
Sebastian Dröge 066cf18336 dvbsuboverlay: Do not try to add a feature to a caps features ANY
It does not makes sense and asserts.

Based on 7f9aac386f from gst-plugins-base.
2014-05-11 07:56:50 +02:00
Tim-Philipp Müller ab3153b9a2 tsdemux: remove confusing debug log line 2014-05-10 12:56:24 +01:00
Olivier Crête 1660538615 autoconvert: factories don't need the lock
An atomic is enough, they can only be set once.
2014-05-09 23:05:28 -04:00
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