Commit graph

6157 commits

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