Commit graph

7942 commits

Author SHA1 Message Date
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
David Schleef
83862968a3 videofiltersbad: port to 1.0 2013-04-12 14:11:06 -07:00
Matej Knopp
13ac73bef4 mpegdemux: decrease log priority for repeating messages
https://bugzilla.gnome.org/show_bug.cgi?id=697834
2013-04-12 00:18:36 +01:00
Sebastian Dröge
2713fd1058 tsdemux: Check the continuity counter for non-section packets too
And if we detect a discontinuity there (like... when losing packets
or having MPEGTS over raw UDP with out-of-order packets) we just
drop the corresponding packet.

A future version could try to implement a re-ordering algorithm based
on that, similar to what rtpjitterbuffer does.
2013-04-11 13:11:44 +02:00
Stefan Sauer
2991e1ed48 mfxdemus: update todo (ther eis a muxer) 2013-04-11 10:06:23 +02:00
Sebastian Dröge
4ca886c53b mpegtsbase: Call ::program_stopped after removing all streams
Subclasses want to access the program while removing the streams
and will currently crash because of dereferencing NULL in some cases.
2013-04-10 16:19:00 +02:00
Alexander Schrab
3320f29a88 watchdog: race between g_main_loop_run/_quit fixed
https://bugzilla.gnome.org/show_bug.cgi?id=697694
2013-04-10 10:36:19 +01:00
David Schleef
329c250a41 watchdog: fix event handling 2013-04-09 15:43:35 -07:00
David Schleef
63a2fac9a9 yadif: remove extra template code 2013-04-09 15:43:35 -07:00
David Schleef
45cb1195a6 ivtc: remove transform_size, it's not needed 2013-04-09 15:43:35 -07:00
David Schleef
9fd00c01a3 interaudiosink: fix leak when not connected 2013-04-09 15:36:17 -07:00
Edward Hervey
98265d0b28 tsdemux: Add support for TrueHD audio 2013-04-07 18:41:38 +02:00
Tim-Philipp Müller
a84e2ccbb8 audiovisualizer: shaders assume 32bpp
Backport fix for crashes and invalid writes in totem from libvisual
in -base, to minimise differences to version in -base and to make
sure the bug doesn't sneak back in later when the base class is
made public.

The shader code looks like it makes assumptions that are not
necessarily always true, even if they're true for now for the
existing elements, namly that pixel stride is 4, for example.

See https://bugzilla.gnome.org/show_bug.cgi?id=683527
2013-04-05 00:53:54 +01:00
Matthew Waters
bf502f5502 audiovisualizer: handle non-existant pool in the default allocation query
gst_query_set_nth_allocation_pool() requires there to be a pool in the
query already. This is not always the case when we get the query from
upstream.  Use gst_query_add_allocation_pool() instead in such case.

https://bugzilla.gnome.org/show_bug.cgi?id=681719
2013-04-05 00:38:36 +01:00
Wim Taymans
5d72759fec audiovisualizer: improve allocation
Based on patch by Matthew Waters

Add private data
Add decide_allocation vmethod
Refactor bufferpool negotiation

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=681719
2013-04-05 00:37:08 +01:00
Edward Hervey
2296296a51 mpegvideoparse: Only add meta if downstream needs it
It's not perfect, because in the cases where upstream doesn't
initiate an allocation query, we won't know.
2013-03-31 19:04:12 +02:00
Edward Hervey
14e7e78b7a mpegvideoparse: Store information in GstMpegVideo12Meta
FIXME : Only do so if we know downstream will need it
2013-03-31 18:55:33 +02:00
Edward Hervey
ca3146a2cd tsparse: Ensure segment events are forwarded
We skip them for tsdemux though (recreated later)

Fixes #690949
2013-03-30 13:54:37 +01:00
Wim Taymans
d7bcf7206f mpegpsdemux: push stream start event 2013-03-30 11:15:48 +01:00
Josep Torra
b6719fe0e3 midiparser: ensure variable is initialized and fix debug message access 2013-03-30 10:57:08 +01:00
Josep Torra
030cf658e6 mpeg4videoparser: Fix a compiler warning about uninitialised variable use 2013-03-30 09:52:45 +01:00
David Schleef
a1bb437ece watchdog: new element 2013-03-27 15:31:21 -07:00
David Schleef
65cb59912b mxfdemux: Use %03u for format in gst_pad_create_stream_id_printf() 2013-03-25 18:57:32 -07:00
Wim Taymans
f468979dea interlaced: set both DTS and PTS
Handle both dts and pts on output buffers.
2013-03-25 10:10:28 +01:00
Douglas Bagnall
0c9db072ce tsdemux: remove unused current_program_number field
https://bugzilla.gnome.org/show_bug.cgi?id=690934
2013-03-24 20:58:28 +00:00
Tim-Philipp Müller
0002f7638b rawparse: send segment event in time format also in push mode
When converting the incoming segment from byte to time format,
don't just convert the start/stop/time values, but also change
the segment format to TIME.

https://bugzilla.gnome.org/show_bug.cgi?id=696361
2013-03-22 19:40:58 +00:00
Sebastian Dröge
dfa6c17de5 y4mdec: Use the correct strides as used by y4m and convert to GStreamer strides if necessary
https://bugzilla.gnome.org/show_bug.cgi?id=696361
2013-03-22 15:53:08 +01:00
Sebastian Dröge
58bfdb2798 y4mdec: Use the default event/query handlers for the default handling
Especially don't forward caps events from the sinkpad to the srcpad.

https://bugzilla.gnome.org/show_bug.cgi?id=696282
2013-03-22 14:52:54 +01:00
Sebastian Dröge
5dba06113d y4mdec: Properly handle segment and time values of -1 2013-03-22 14:50:28 +01:00
Wim Taymans
5981ad182e midi: set midi parser rank primary
Now that it supports seeking and all, mark it primary
2013-03-22 14:48:52 +01:00
Wim Taymans
5474532f57 midiparse: always seek back to beginning
We always need to seek back to the beginning because when we do a flushing seek,
we might have lost events downstream.
2013-03-22 13:49:49 +01:00
Wim Taymans
803f564013 midiparse: implement seeking
Seek back to 0 for backward seeking and let things run and clip for forwards
seeking.
2013-03-22 12:25:16 +01:00
Wim Taymans
661989bcb7 midiparse: simplify the callbacks
We only need one callback to send bytes out.
2013-03-21 18:18:29 +01:00
Wim Taymans
06e06b6159 midiparse: clean up tracks 2013-03-21 17:25:32 +01:00
Wim Taymans
7a14606b51 midiparse: don't leak midi data 2013-03-21 17:16:24 +01:00
Wim Taymans
15f07e7f12 midiparse: small cleanups in error paths 2013-03-21 16:06:46 +01:00
Wim Taymans
adae7f1859 midiparse: duration is max of all track durations 2013-03-21 16:06:46 +01:00
Wim Taymans
7498d104a7 midiparse: fix klass 2013-03-21 16:06:46 +01:00
Wim Taymans
5492631d84 midiparse: Update duration
Rework things a bit so that we can run over the midi events and fire callbacks
for each of them. We can then use that for calculating the duration and also for
doing playback.
Only parse as many tracks as specified in the header.
Fix default tempo;
Send MIDI tick events every 10ms
2013-03-21 15:00:16 +01:00
Wim Taymans
76cd090503 midiparse: handle midi in RIFF 2013-03-21 09:30:41 +01:00
Wim Taymans
a093d65310 midiparse: small fixes 2013-03-21 07:21:41 +01:00
Wim Taymans
10cb1a7a3a midi: set rank as marginal
Set the mark to marginal until we implement more features.
2013-03-21 07:21:41 +01:00
Wim Taymans
235f2a962e midiparse: add basic midi parser
Parses midi files and outputs buffers with midi events.
2013-03-21 07:21:40 +01:00
Tim-Philipp Müller
3af6effcf2 ivtc: fix make dist 2013-03-20 15:29:51 +00:00
David Schleef
160f996c2f combdetect,ivtc: code cleanup 2013-03-19 18:08:53 -07:00
David Schleef
db40edff17 combdetect: output progressive video 2013-03-19 16:26:45 -07:00
David Schleef
16091ef422 combdetect: code cleanup 2013-03-19 16:26:45 -07:00
David Schleef
f1993545cf combdetect: switch to zebra striping 2013-03-19 16:26:45 -07:00
David Schleef
cac6b94922 ivtc: drop early fields 2013-03-19 16:26:45 -07:00
David Schleef
91310bd4c5 ivtc: new inverse telecine filter
This filter converts interlaced content that was originally
telecine'd from 24 fps (or similar) progressive content.  It works
approximately like videorate, but with awareness of interlacing.
It merges neighboring fields in the input interlaced stream with
the goal of minimizing combing artifacts, while keeping the output
framerate constant.  If it cannot avoid combing artifacts, it will
reconstruct the image from a single field.  Note that this filter
does not autodetect the framerate, but will automatically fixate
at 24 fps.
2013-03-19 16:26:45 -07:00
Alessandro Decina
d2d6798087 Make the hls plugin depend on gnutls and move to ext/hls/
gnutls is used to implement AES decryption
2013-03-19 10:54:18 +01:00
Alessandro Decina
5c77ef61ed hlsdemux: use gnutls instead of openssl 2013-03-19 10:26:54 +01:00
Alessandro Decina
7d982d3418 hlsdemux: support encrypted streams 2013-03-19 10:26:54 +01:00
Alessandro Decina
1f177beb33 hlsdemux: fix invalid free() introduced by last commit 2013-03-18 21:03:50 +01:00
Kevin Thornberry
72c5c70b90 mpegtsmux: fix creation of ADTS header for AAC audio in MPEG-TS
https://bugzilla.gnome.org/show_bug.cgi?id=695412
2013-03-18 10:31:51 +00:00
Alessandro Decina
175498434c hlsdemux: parse #EXT-X-KEY tags 2013-03-18 07:34:13 +01:00
Alessandro Decina
4ca7426f2a hlsdemux: factor out URI joining utility 2013-03-18 07:27:51 +01:00
Alessandro Decina
cb7ee940d2 hlsdemux: fix URI parsing for absolute fragment paths 2013-03-18 07:02:54 +01:00
Jean-François Fortin Tam
7b268f6965 frei0r: improve readability of RGB and XY property nickname strings
Also fix the Y prop nickname string being incorrect.

https://bugzilla.gnome.org/show_bug.cgi?id=695884
2013-03-16 18:16:34 +00:00
Jean-François Fortin Tam
53d33062e1 frei0r: fix nicknames for color and position properties
https://bugzilla.gnome.org/show_bug.cgi?id=695884
2013-03-16 18:14:37 +00:00
David Schleef
a80726c8d7 videosegmentclip: Don't leak buffers after segment 2013-03-15 00:16:16 -07:00
David Schleef
aa8918411e videosignal: add FIXME for future revival 2013-03-15 00:16:16 -07:00
David Schleef
6005ab322d mxfdemux: Add a second MXF UL for uncompressed audio 2013-03-14 14:41:38 -07:00
David Schleef
f0ab12fe89 mxfdemux: Ignore missing metadata descriptors 2013-03-14 14:41:37 -07:00
Wim Taymans
88492ff72e hlsdemux: don't stop tasks in paused
A non-live element is supposed to continue streaming in the paused state so
don't stop the tasks when going to paused.
We also always want to start the update task after we prerolled enough data,
not only in the playing state.
2013-03-14 12:17:13 +01:00
Wim Taymans
3de57b9754 hlsdemux: add more debug 2013-03-14 12:17:13 +01:00
Greg Rutz
c66fd54e78 audiovisualizer: fix improper video frame clear operation
The current code is memsetting the GstVideoFrame.data address to 0s (which
causes a segfault). This member is actually an array of data buffers (one for
each plane).  This fix iterates over each data plane to clear them all.

https://bugzilla.gnome.org/show_bug.cgi?id=695655
2013-03-13 00:40:24 +00:00
Tim-Philipp Müller
c2446a70f6 Remove DTMF plugin, moved to -good
https://bugzilla.gnome.org/show_bug.cgi?id=687416
2013-03-09 01:06:31 +00:00
Sebastian Dröge
acacef9fbb mpegtsdemux: Fix various compiler warnings 2013-03-03 12:30:32 +01:00
Sebastian Dröge
ac6967a843 mpeg4videoparse: Use correct type specifiers for format strings to fix compiler warnings 2013-03-03 12:30:21 +01:00
Sebastian Dröge
570f012b58 freeverb: Fix compiler warning caused by wrong format specifier 2013-03-03 10:54:10 +01:00
Vincent Penquerc'h
b6f50c51f3 rawparse: fix caps leak 2013-02-28 16:55:36 +00:00
Tim-Philipp Müller
6325b06204 dvbsuboverlay: add all supported video formats to template caps
We now use gst_video_overlay_composition_blend(), so can support
all video formats supported by that, not just I420.
2013-02-19 13:04:21 +00:00
Tim-Philipp Müller
f2f9e4b68a dvbsuboverlay: proxy the allocation query
Pass allocation query downstream.
2013-02-19 13:04:14 +00:00
Tim-Philipp Müller
79f419c82d dvbsuboverlay: don't forward CAPS event from subtitle pad
May results in not-negotiated flow errors otherwise.
2013-02-19 11:14:11 +00:00
Stefan Sauer
57ff02f485 freeverb: remove channel-mask from caps
The channel-mask is only needed for channels>2 which we don't do.
2013-02-15 21:30:33 +01:00
Tim-Philipp Müller
829076358e Revert "mpeg4videoparse: set 0 duration when vop_coded is 0"
This reverts commit d3219a261a.

vop_coded 0 means that the previous frame should be repeated,
so it should have valid duration after all.

https://bugzilla.gnome.org/show_bug.cgi?id=683169
2013-02-14 09:40:08 +00:00
Olivier Crête
f25b0eda09 pngparse: Declare the width/height outside the loop
Also initialize them to make gcc happy
2013-02-12 18:11:34 -05:00
Olivier Crête
41afff88e0 videoparsers: Add png file parser
https://bugzilla.gnome.org/show_bug.cgi?id=690639
2013-02-12 17:04:38 -05:00
David Schleef
168c8406b5 Unrevert: mpegvideoparse: set timestamp based on pic offset
API is now in baseparse in gstreamer.

Timestamps in MPEG-TS streams are based on the last timestamp
before the start code of the picture.  GstBaseParse sets the
timestamp based on the beginning of the sequence header, if
one exists before the picture.  This fixes the case where the
timestamp occurs in the MPEG-TS stream between the seq header
and picture start code.
2013-02-12 12:23:03 -08:00
David Schleef
e614bd037e yadif: Add mode property
Copy mode from deinterlace element.  Isn't actually implemented
in yadif, every frame is deinterlaced, so effectively mode=1.
2013-02-12 12:23:03 -08:00
David Schleef
e5e7fccd03 yadif: Fix non-x86_64 builds 2013-02-12 11:48:21 -08:00
David Schleef
aeee2084ff mpegdemux: add parsed=false to mpeg2 caps 2013-02-12 11:48:21 -08:00
Tim-Philipp Müller
aedc136926 Revert "mpegvideoparse: set timestamp based on pic offset"
This reverts commit 63718da919.

The required baseparse API addition has not been pushed yet,
which breaks the build.
2013-02-12 09:38:35 +00:00
David Schleef
63718da919 mpegvideoparse: set timestamp based on pic offset
Timestamps in MPEG-TS streams are based on the last timestamp
before the start code of the picture.  GstBaseParse sets the
timestamp based on the beginning of the sequence header, if
one exists before the picture.  This fixes the case where the
timestamp occurs in the MPEG-TS stream between the seq header
and picture start code.
2013-02-11 17:41:17 -08:00
Tim-Philipp Müller
b738115ebd yadif: fix distcheck 2013-02-11 23:46:27 +00:00
Tim-Philipp Müller
d3c79a6079 yadif: fix build in uninstalled setup 2013-02-11 22:40:35 +00:00
David Schleef
b339812c07 yadif: Add YADIF deinterlacing filter
Code copied from Libav, commit 26e4f0c70.  Will eventually be
moved to -ugly because underlying code is GPL.
2013-02-11 12:30:29 -08:00
David Schleef
10b44cc81b fieldanalysis: Add Y42B and Y444 formats 2013-02-11 12:30:29 -08:00
Tim-Philipp Müller
dee6536421 mxfdemux: fix taglist leak
Don't leak demuxer tag list.
2013-02-11 20:24:14 +00:00
Tim-Philipp Müller
453438a9dd mxfdemux: fix push mode unit test failure
In the sink event handler we end up sending multiple EOS
events per pad. Don't return FALSE when sending the
second EOS on an already-EOS pad fails. Not sure if there
was a reason for sending a second EOS, so leaving the
code in there for now, but assume all went fine if there
are source pads, which is slightly less wrong than before.
This function needs work.
2013-02-11 19:59:20 +00:00
Tim-Philipp Müller
e63027f198 gdp: actually log generic dataprotocol stuff to gdp category 2013-02-11 12:34:24 +00:00
Tim-Philipp Müller
632f2ac1c6 inter: don't use deprecated GLib threading API 2013-02-11 12:01:19 +00:00
Tim-Philipp Müller
eef2324e4d liveadder: don't use deprecated GLib threading API 2013-02-11 12:01:19 +00:00
Marc Leeman
6aa399ec9f mxfdemux: deprecated GStaticRWLock -> GRWLock
https://bugzilla.gnome.org/show_bug.cgi?id=693322
2013-02-09 18:35:48 +00:00
Marc Leeman
f7b16f6185 chromahold: deprecated GStaticMutex -> GMutex
https://bugzilla.gnome.org/show_bug.cgi?id=693322
2013-02-09 18:35:33 +00:00
Tim 'mithro' Ansell
c8cbe98d90 gdppay: fix buffer leak when new caps are same as old caps
The leak occurs when you got a message with identical caps to the ones you
already had.

https://bugzilla.gnome.org/show_bug.cgi?id=693324
2013-02-07 14:07:17 +00:00
Jan Schmidt
0344b33f40 dvdspu: Fix the rendering of PGS windows with left != 0
When rendering a PGS window area where the left edge is not at
pixel 0, the chroma was being rendered in the wrong place since
commit 4dc648d343
2013-02-07 22:51:05 +11:00
Tim Ansell
12255ff660 inter: fix leaks in test
https://bugzilla.gnome.org/show_bug.cgi?id=693300
2013-02-07 11:31:12 +00:00
Stefan Sauer
998cfde158 freeverb: port to 1.0 2013-02-07 08:56:37 +01:00
Stefan Sauer
09764eca37 audiovisualizers: add comments for monoscope porting 2013-02-07 07:29:17 +01:00
David Schleef
65927acc45 interlace: fix negotiation for true interlaced modes 2013-02-06 15:51:01 -08:00
Josep Torra
7fafbe2e22 tsdemux: expose VC1 streams with missing descriptor.
Fixes playback of VC1 streams when the descriptor is missing.
2013-02-05 23:07:12 +01:00
Robert Swain
4513a48e8a interlace: Add support for more telecine patterns 2013-02-05 13:40:39 +01:00
Robert Swain
0fc9b0b289 interlace: Add more verbose hints about field patterns 2013-02-05 13:40:32 +01:00
David Schleef
a19c0b5697 tsdemux: Add descriptors for SMPTE 302m audio 2013-02-04 18:07:17 -08:00
Mark Nauwelaerts
7df753165f h264parse: separate fields for distinct functional uses of codec_data field
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=692789
2013-02-02 19:29:40 +01:00
Tim-Philipp Müller
74d1f8a400 rtpdtmfsrc: fix compiler warning
gstrtpdtmfsrc.c: In function 'gst_dtmf_src_prepare_message.isra.1':
gstrtpdtmfsrc.c:669:3: error: 's' may be used uninitialized in this function
2013-01-26 22:58:29 +00:00
Olivier Crête
bbc8fda864 rtpdtmfdepay: Fix missing work in doc 2013-01-25 21:06:05 -05:00
Olivier Crête
a2384408f0 rtpdtmfsrc: Post the messages after the clock wait
This way, the messages will be closer in time to when the packets are sent out
2013-01-25 20:45:43 -05:00
Olivier Crête
b69f09e26f rtpdtmfsrc: Only set the duration when starting to send
The duration depends on the clock rate, which could change due to renegotiation
2013-01-25 20:45:43 -05:00
Olivier Crête
917d491d63 rtpdtmfsrc: remove "ssrc" from caps
ssrc is uint and we don't have a uint range type
2013-01-25 20:45:43 -05:00
Olivier Crête
81b452ba5d dtmf/spandsp: Move dtmfdetect to use libspandsp
Remove our copy of the tone_detect.c file and use the original
from libspandsp. Also move the element to the spandsp plugin.
2013-01-09 20:05:16 -05:00
Victor Gottardi
21477d37e2 hlssink: don't forward multifilesink messages to application
These messages are usually only needed internally.

https://bugzilla.gnome.org/show_bug.cgi?id=689822
2013-01-06 22:53:11 +00:00
Victor Gottardi
e6f5c5674c hlssink: m3u8 add EXT-X-ALLOW-CACHE
https://bugzilla.gnome.org/show_bug.cgi?id=689822
2013-01-06 22:53:11 +00:00
Victor Gottardi
4fb227b340 hlssink: round segment duration to nearest number of seconds
E.g. for 1s period, duration can be 0.99s, rounds down to 0, results in invalid
playlist

https://bugzilla.gnome.org/show_bug.cgi?id=689822
2013-01-06 22:53:10 +00:00
Tim-Philipp Müller
c313b7e212 hlssink: don't leak old playlist entries when using max-files
Based on patch by: Victor Gottardi <vgottardi@hotmail.com>

https://bugzilla.gnome.org/show_bug.cgi?id=689822
2013-01-06 22:53:00 +00:00
Tim-Philipp Müller
5522cceb55 inter: don't use deprecated GStaticMutex API 2013-01-04 17:19:25 +00:00
Tim-Philipp Müller
d1e9a96a69 mpegpsmux: use DTS in addition to PTS
And refactor choose_best_stream() a little.

videotestsrc pattern=ball ! x264enc ! mpegpsmux ! ...

plays much nicer now.
2013-01-01 11:59:39 +00:00
Tim-Philipp Müller
37de5a081c mpegpsmux: use gstreamer debug logging system everywhere 2012-12-31 19:45:54 +00:00
Tim-Philipp Müller
c056ecb02b mpegpsmux: port to 0.11
Naive port. Barely tested.
2012-12-31 19:42:03 +00:00
Matthias Hardt
0e3fdb1e16 tsdemux: extract ISO 639 language codes for subtitles into taglists
https://bugzilla.gnome.org/show_bug.cgi?id=680200
2012-12-28 23:32:55 +00:00
Thijs Vermeir
471ad809f6 videoparsers: use appropriate printf format for gsize 2012-12-18 16:52:26 +01:00
Thijs Vermeir
35a5100bc3 mxf: use appropriate printf format for gsize 2012-12-18 16:50:37 +01:00
Thijs Vermeir
67bbe5ebaf jpeg: use appropriate printf format for gsize 2012-12-18 16:40:59 +01:00
Thijs Vermeir
775cf6ab3e inter: use appropriate printf format for gsize 2012-12-18 16:20:08 +01:00
Sebastian Dröge
f623a78924 videoparsers: Make sure the caps are actually writable before changing them 2012-12-17 15:16:48 +01:00
Sebastian Dröge
9f1257330d videoparsers: Use the peer caps for restrictions instead of the srcpad allowed caps
Otherwise we will intersect with the srcpad template caps and add all the caps fields
that the parser will ever set, no matter if downstream restricts this field or not.
This requires upstream to set this field on the caps to successfully negotiate.

https://bugzilla.gnome.org/show_bug.cgi?id=690184
2012-12-17 15:04:44 +01:00
Tim-Philipp Müller
02ab609c11 rtpmux: remove rtpmux plugin, moved to -good
Move rtpmux and rtpdtmfmux into rtpmanager plugin in -good.

https://bugzilla.gnome.org/show_bug.cgi?id=629117
2012-12-16 17:36:45 +00:00
Tim-Philipp Müller
7ab936fa7e scaletempo: remove scaletempo plugin, moved to -good
https://bugzilla.gnome.org/show_bug.cgi?id=687262
2012-12-15 13:37:23 +00:00
Tim-Philipp Müller
8b2641805f autoconvert: don't use deprecated threading API 2012-12-14 18:09:06 +00:00
Wim Taymans
0e0dd05fd6 h264parse: use upstream width/height when given
The upstream width and height should override the dimension detected in the
file.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=683142
2012-12-13 14:15:04 +01:00
Arnaud Vrac
0d15c8a7a5 mpeg4videoparse: export number of sprite warping points in caps
This allows filtering out videos for hardware decoders that do not
support GMC at all or only support a limited number of sprite warping
points (usually 1).
2012-12-13 11:01:00 +00:00
Arnaud Vrac
07c2a82e5d mpeg4videoparse: handle divx caps
DivX 4/5 are MPEG4 part 2 videos, so they can be parsed by this plugin.
2012-12-13 11:01:00 +00:00
Tim-Philipp Müller
b0c30383ca mxfdemux: printf format fixes for debug messages 2012-12-12 18:50:09 +00:00
Tim-Philipp Müller
796708b3e3 hls: minor Makefile clean-up
Remove superfluous SOUP_CFLAGS and SOUP_LIBS.
2012-12-12 00:40:20 +00:00
Michael Esemplare
91bf909469 hls: link to the right gst-plugins-base libs and fix libs order
https://bugzilla.gnome.org/show_bug.cgi?id=690030
2012-12-11 21:13:21 +00:00
Sebastian Dröge
3478231790 mxfdemux: Don't allow any wrapping other than frame wrapping
Bad things will happen otherwise, like reading a complete,
multiple GB large video track into a single buffer.

Conflicts:
	gst/mxf/mxfdemux.c
2012-12-06 10:10:05 +01:00
Sebastian Dröge
76ca3c77d7 mxfdemux: Add function to get the essence track wrapping 2012-12-06 10:09:21 +01:00
Sebastian Dröge
28c11b2762 mxf: Add support for parsing filler structural components
This does not add support for actually producing filler data
if there's a filler component in a timeline.
2012-12-05 12:24:30 +01:00
Sebastian Dröge
a83b798312 mxf: Improve debug output during metadata resolval 2012-12-05 12:10:44 +01:00
Tim-Philipp Müller
caa9014bce resindvd, frei0r: link to libgmodule-2.0 in plugins that use g_module_* API
Probably needed for other plugins as well.
2012-11-30 20:01:16 +00:00
Sebastian Dröge
84e5418cfc mxf: Add more support for RP2008 (AVC in the MPEG mapping)
Conflicts:
	gst/mxf/mxfmpeg.c
2012-11-30 15:19:35 +01:00
Krzysztof Konopko
13910f5154 mpegtsmux: crashes when trying to re-use the element
A crash occured after pushing buffers and changing mpegtsmux state to
NULL/READ and then back to PLAYING/PAUSED.

The crash was caused by holding a dangling pointer in the MpegTsMux
program table.

Additionally stream headers were leaked when resetting the element:
mux->streamheader set to NULL in mpegtsmux_reset() before it's released
later in the same function.

Added a unit test: test_multiple_state_change

https://bugzilla.gnome.org/show_bug.cgi?id=689107
2012-11-27 19:00:25 +00:00
Krzysztof Konopko
76b8e8be51 mpegtsmux: propagate flow returns
And add a unit test.

https://bugzilla.gnome.org/show_bug.cgi?id=688870
2012-11-23 00:14:53 +00:00
Tim-Philipp Müller
c6343ae5b5 hlssink: add doc chunk with example command line 2012-11-20 23:20:38 +00:00
Thibault Saunier
d53a447731 mpeg4videoparse: Fix nitpick 2012-11-15 11:40:05 -03:00
Thibault Saunier
daed78039e mpeg4videoparse: Make sure pad template caps are not fixed from the begging
Right now decodebin will concider the pad template caps as fixed and if a decoder
has restriction on for example height/width it won't be autoplugged because
gst_caps_is_subset fails as those fields are missing from the pad template caps.
We fix the issue here making sure that the pad caps are fixed using data from
the stream.
2012-11-15 10:45:53 -03:00
Josep Torra
3d012665f0 tsdemux: forward upstream time segments after flushes
Also reset segment info and drop the segment event when demuxer is
flushed.
Restore demuxer segment with the info stored in base when demuxer is
going to push data again if needed.
Drop code to recover the segment info from base in the initial program
becauses it's superseded by the new code.
2012-11-14 22:51:35 +01:00
Tim-Philipp Müller
9f7e7d305d gst_adapter_prev_timestamp -> gst_adapter_prev_pts 2012-11-14 12:41:27 +00:00
Tim-Philipp Müller
3abce95e61 hls: dist all header files needed to build 2012-11-14 11:35:23 +00:00
Tim-Philipp Müller
acd20a7960 accurip: fix linker flags
Spotted by Rico Tzschichholz.
2012-11-14 10:46:55 +00:00
Josep Torra
0b3e0ed080 tsdemux: reset the stream some more in the flushes
Now that we handle flushing in the FLUSH_STOP event we need to make
the streams ready if they were flushing.
2012-11-12 22:57:19 +01:00
Josep Torra
150376efe4 mpegtspacketizer: flush observations too
Flush the previous observations when the packetizer is flushed.
Also don't leak them in the dispose.
2012-11-12 22:57:19 +01:00
Josep Torra
1fc5fffe08 mpegtsbase: fix double unref of seek event 2012-11-12 22:57:19 +01:00
Josep Torra
cc40d49bed mpegtsbase: flush in FLUSH_STOP to avoid race conditions
Ensure the chain is not running before reset the state to avoid race
conditions and random corruptions downstream.
Also fixes segfaults in the packetizer due wrong available values that
causes gst_adapter_map to return a NULL pointer.
2012-11-12 22:57:19 +01:00
Josep Torra
996da425a9 Revert "tspacketizer: ensure that a null pointer isn't accessed"
This reverts commit 6efd611b8c.

Also this extra check won't be needed if it's fixed the race by moving
flush actions to FLUSH_STOP.
2012-11-10 19:52:46 +01:00
Josep Torra
80dd130fb0 Revert "tsbase: add a guard with an atomic boolean when flushing"
This reverts commit e14e310f71.

Would be better move the packetizer flushing to FLUSH_STOP and avoid
the race that way. Without introducing a memory barrier that could
have impact in the performance.
2012-11-10 19:46:40 +01:00
Alessandro Decina
51c4f255be hlssink: remove vim .swp files that I just committed accidentally... 2012-11-10 14:43:17 +01:00
Alessandro Decina
48431d76e6 hlssink: port to 1.0 2012-11-10 14:40:50 +01:00
Alessandro Decina
8cc1400488 hlssink: cut segments using the running-time 2012-11-10 14:40:50 +01:00
Alessandro Decina
b9018b2870 hlssink: don't unref ->multifilesink.
We gst_bin_add it to ourself so no need to unref in _dispose.
2012-11-10 14:40:50 +01:00
Alessandro Decina
b46886643b hlssink: rework _reset a bit 2012-11-10 14:40:38 +01:00
Josep Torra
e14e310f71 tsbase: add a guard with an atomic boolean when flushing 2012-11-10 00:08:35 +01:00
Josep Torra
6efd611b8c tspacketizer: ensure that a null pointer isn't accessed
Mitigates segfault due race condition in FLUSH_START handling and
mpegts_base_chain.
2012-11-09 22:17:11 +01:00
Edward Hervey
651203de07 mpegts: Only use timestamp-based PCR/PTS estimation when needed
When dealing with non-time based push-mode streams, we need to revert
to using the offset-based PCR/PTS estimation logic of packetizer.

This solves uses cases such as:
 pushfile:// ! tsdemux
 src ! queue ! tsdemux

https://bugzilla.gnome.org/show_bug.cgi?id=687178
2012-11-09 12:15:24 +01:00
Kevin Thornberry
c2d4c0da5e mpegtsmux: fix DTS value being used for PTS
https://bugzilla.gnome.org/show_bug.cgi?id=687806
2012-11-07 20:34:38 +00:00
Thibault Saunier
b3abd51656 h264parse: don't rewind to the NAL length size in bytewriter if the format is bytestream
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=687548

Signed-off-by:  Kevin Thornberry
2012-11-06 12:44:29 -03:00
Thibault Saunier
72933e3929 h264parse: Actually add PPS data to the output buffer 2012-11-06 11:54:39 -03:00
Will Thompson
b4bf05b32e hlssink: add a playlist-length property
Probably not particularly useful in general, but handy
to cut down the latency on a stream.

https://bugzilla.gnome.org/show_bug.cgi?id=687133
2012-11-05 12:50:11 +00:00
Luciana Fujii Pontello
40325be3a4 hlssink: reset when going to NULL state
https://bugzilla.gnome.org/show_bug.cgi?id=687133
2012-11-05 12:50:07 +00:00
Luciana Fujii Pontello
dda3106650 hlssink: Fix segment names on playlist
When the playlist-root is not set, the segment name must not be
appended by the path.

https://bugzilla.gnome.org/show_bug.cgi?id=687133
2012-11-05 12:50:04 +00:00
Tim-Philipp Müller
9e1b75fda3 Fix FSF address
https://bugzilla.gnome.org/show_bug.cgi?id=687520
2012-11-04 00:09:59 +00:00
Sebastian Dröge
6fbf96d3e4 scaletempo: Use a better plugin filename 2012-11-02 13:44:02 +01:00
Tim-Philipp Müller
854626c908 rtpvp8: remove and move to -good
https://bugzilla.gnome.org/show_bug.cgi?id=687263
2012-11-01 20:50:56 +00:00
Jan Schmidt
119c27c9b9 tsmux: Slightly reflow collected buffer handler for clarity. 2012-10-30 10:00:08 +11:00
Sebastian Pölsterl
43938bbf54 tsdemux: Fix name of CAT GstStructure
The structure previously was assigned the name "pat".

https://bugzilla.gnome.org/show_bug.cgi?id=686948
2012-10-29 13:16:46 +01:00
Tim-Philipp Müller
72353aeb71 docs: add new accurip element to docs
https://bugzilla.gnome.org/show_bug.cgi?id=685163
2012-10-28 16:54:07 +00:00
Christophe Fergeau
8c81e39de0 accuraterip: new element for AccurateRip calculation
https://bugzilla.gnome.org/show_bug.cgi?id=685163
2012-10-28 16:36:01 +00:00
Michael Smith
0c8a7fa46f mxf: Port mxfdemux to 1.0
Also ports mxfmux to 1.0 to the extent that it compiles, but is 100% untested,
so remains disabled.

Conflicts:
	gst/mxf/mxfdemux.c
	gst/mxf/mxfmux.c
2012-10-26 13:48:06 -07:00
Mark Nauwelaerts
0d1c7f6ea2 videoparsers: use parsed or upstream fps to set some baseparse parameters 2012-10-25 18:02:38 +02:00
Mark Nauwelaerts
58441bf262 h264parse: extract structure from correct caps
... which are known != NULL.
2012-10-25 18:02:38 +02:00
Mark Nauwelaerts
821c8519e0 videoparsers: preserve upstream fps and par
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=660866
2012-10-25 17:07:18 +02:00
Sebastian Dröge
36680b1190 vc1parse: Give vc1parse a rank of NONE for now 2012-10-25 14:05:48 +02:00
Sebastian Dröge
6d5fc5a771 vc1parse: Port to 1.0 2012-10-25 14:05:48 +02:00
Alessandro Decina
00abb674ca vc1parse: disable BDU parsing until it's more mature
Parsing and splitting BDUs seems to trigger a few bugs in
downstream decoders so disable it for now.
2012-10-25 14:05:48 +02:00
Alessandro Decina
d03f5499bd vc1parse: set duration on output buffers
This has the nice side effect of avoiding hanging at EOS with truncated asf
clips.

Conflicts:
	gst/videoparsers/gstvc1parse.c
2012-10-25 14:05:48 +02:00
Alessandro Decina
f287dec1a2 vc1parse: workaround for simple/main codec_data being 5 bytes long
Sometimes the codec_data buffer for simple/main pushed by asfdemux is 5 bytes
instead of 4. When that happens, codec_data is still valid but it seems to have
one 0x00 trailing byte. Might be a bug in the demuxer, needs more investigation.
2012-10-25 14:05:48 +02:00
Alessandro Decina
8aec23ac05 vc1parse: remove stub stream conversion code 2012-10-25 14:05:48 +02:00
Alessandro Decina
cbecbbe23e vc1parse: add some more debugging to _renegotiate 2012-10-25 14:05:48 +02:00
Sebastian Dröge
5af8f82ecd vc1parse: Add VC1 parser plugin 2012-10-25 14:05:48 +02:00
Thijs Vermeir
1d710ad13a mpegdemux: check base_time before calculating new_start
https://bugzilla.gnome.org/show_bug.cgi?id=623387
2012-10-24 12:01:46 +02:00
Sebastian Dröge
df12aae15b scaletempo: Fix event leak 2012-10-23 14:33:21 +02:00
Sebastian Dröge
7c136f1166 scaletempo: Fix timestamp tracking 2012-10-23 14:32:24 +02:00
Sebastian Dröge
bb0c2d40c4 scaletempo: Implement LATENCY query 2012-10-23 14:20:12 +02:00
Sebastian Dröge
9319b48d24 scaletempo: Store instance private data in the instance struct
Getting it over and over again via G_TYPE_INSTANCE_GET_PRIVATE()
is really slow.
2012-10-23 13:39:17 +02:00
Sebastian Dröge
1bafd6191a hls: Link to $(LIBM) for isfinite() 2012-10-23 10:07:31 +02:00
Tim-Philipp Müller
2c02e25640 subenc: port to 1.0 2012-10-22 11:00:38 +01:00
Jan Schmidt
5888c60570 mpegtsmux: Don't make the same buffer writable twice.
Fixes Bug 686327 - mpegtsmux: fix refcount issue with input buffers
2012-10-22 01:41:41 +11:00
Mark Nauwelaerts
88f407bb5b mpegdemux: forward non-processed dvd events
... such as notably dvd-spu-clut-change.
2012-10-19 16:17:45 +02:00
Mark Nauwelaerts
a2b6f46f00 mpegdemux: segment event should be sent before gap event 2012-10-19 16:17:45 +02:00
Tim-Philipp Müller
465374f3c8 tsdemux: fix program packet sequence counter parsing in PES header 2012-10-19 01:05:44 +01:00
Tim-Philipp Müller
10c881b107 tsdemux: fix some inconsequential PES header parsing issues
additional_copy_info: need to get rid of the highest
bit, not the lowest one

program_packet_sequence_counter: also need to get rid
of the highest bit instead of multiplying with a random
value

original_stuff_length: want to AND 0x3f to extract the
lowest 6 bits, not multiply by it.

None of these fields are actually used though, so these
should not have caused any issues.
2012-10-19 01:05:34 +01:00
Raimo Järvi
9640669689 tsdemux: Fix parsing P-STD_buffer in PES header
https://bugzilla.gnome.org/show_bug.cgi?id=686294
2012-10-19 00:29:40 +01:00
Andoni Morales Alastruey
f768dfd925 tsdemux: fix potential crash dereferencing NULL program pointer
https://bugzilla.gnome.org/show_bug.cgi?id=686358
2012-10-18 17:54:41 +01:00
Tim-Philipp Müller
32ba17cd0f Use gst_element_class_set_static_metadata()
where possible. Avoids some string copies. Also re-indent
some stuff. Also some indent fixes here and there.
2012-10-17 17:46:34 +01:00
Sebastian Dröge
5e6783f5af mpegdemux: Fix unitialized variable compiler warning 2012-10-16 11:38:08 +02:00
Sebastian Dröge
932c7175d3 hlsdemux: And fix another deadlock caused by the update thread not correctly shutting down
Conflicts:
	gst/hls/gsthlsdemux.c
2012-10-15 11:46:45 +02:00
Sebastian Dröge
477b04a282 hlsdemux: Also hold the mutex before signalling the condition variable
Conflicts:
	gst/hls/gsturidownloader.c
2012-10-15 11:04:06 +02:00
Sebastian Dröge
113ccb1a53 hlsdemux: Also cancel the downloader before stopping the playlist update task 2012-10-15 10:55:12 +02:00
Sebastian Dröge
b335f5a68e hlsdemux: Only lock the mutex when it's not locked already
Conflicts:
	gst/hls/gsthlsdemux.c
2012-10-15 10:39:52 +02:00
Sebastian Dröge
443703a08e hlsdemux: Fix another race condition by holding the mutex that the condition variable uses
Conflicts:
	gst/hls/gsthlsdemux.c
2012-10-15 10:38:36 +02:00
Sebastian Dröge
e3f00d6252 hlsdemux: Port some things from the last commits 2012-10-15 09:47:35 +02:00
Sebastian Dröge
4df3fad9e4 hlsdemux: Never ever stop a task from the task function
This will deadlock. Also make sure to always post an error message
if required before pausing tasks from the task function.

Should fix another bunch of deadlocks.

Conflicts:
	gst/hls/gsthlsdemux.c
2012-10-15 09:45:14 +02:00
Sebastian Dröge
ca57dd81e4 hlsdemux: Fix lots of deadlocks caused by race conditions in the task state handling 2012-10-15 09:44:09 +02:00
Mark Nauwelaerts
953e94ac78 mpegdemux: advance stream time when sending GAP event 2012-10-12 22:35:05 +02:00
Mark Nauwelaerts
c24eb1db9b mpegdemux: send language info downstream if available
... as extracted from dvd event.
2012-10-12 22:35:05 +02:00
Mark Nauwelaerts
f708ab8de9 mpegdemux: remove obsolete struct field 2012-10-12 22:34:56 +02:00
Michael Smith
e3a1e489d2 audioparse: Set framesize and properties correctly when taking format
from caps.
2012-10-12 12:29:59 -07:00
Mark Nauwelaerts
ba47769823 mpegdemux: tweak flow return aggregation 2012-10-12 17:51:51 +02:00
Mark Nauwelaerts
a9c0609ae8 mpegdemux: handle upstream TIME segments 2012-10-12 17:03:38 +02:00
Mark Nauwelaerts
69cfbcbd0b mpegdemux: handle and combine downstream flow return 2012-10-12 17:03:38 +02:00
Mark Nauwelaerts
acc0530f33 mpegdemux: handle new style dvd event 2012-10-12 17:03:38 +02:00
Mark Nauwelaerts
61849aad61 mpegdemux: do not add pad after no-more-pads 2012-10-12 17:03:38 +02:00
Mark Nauwelaerts
44583eae90 mpegdemux: clean up segment sending
... to use the src_segment as a basis for the sent segment,
thereby properly conveying accumulated base_time etc.

Also ensure src_segment is only adjusted once, so that
all downstream segments are identical to avoid stream
misalignment.
2012-10-12 17:03:38 +02:00
Mark Nauwelaerts
b8312df0a3 mpegdemux: send GAP event rather than segment updates 2012-10-12 17:03:38 +02:00
Mark Nauwelaerts
20cd96f5c3 mpegdemux: refactor segment sending 2012-10-12 17:03:37 +02:00
Mark Nauwelaerts
aca6237b3e mpegdemux: refactor init and reset 2012-10-12 17:03:37 +02:00
Mark Nauwelaerts
08d2fff2fd mpegdemux: no more segment closing in 1.0 2012-10-12 16:48:54 +02:00
Mark Nauwelaerts
ab337317fa mpegdemux: clean up some debug statements 2012-10-12 16:48:54 +02:00
Sebastian Dröge
e5eceaaa73 mpegtsdemux: First push EOS, then destroy all programs
And also properly remove the program from the subclass
2012-10-12 15:38:44 +02:00
Sebastian Dröge
80a3a014f5 hlsdemux: Fix invalid read 2012-10-12 15:09:07 +02:00
Sreerenj Balachandran
0b5fde7ed8 mpegvideoparse: signal interlacing properly in video caps
The field is called "interlace-mode" mode now and is a string.

https://bugzilla.gnome.org/show_bug.cgi?id=685895
2012-10-10 16:56:38 +01:00
Wim Taymans
380b23af90 replace some playbin2 -> playbin 2012-10-10 14:14:43 +02:00
Mark Nauwelaerts
a17b1f4c91 mpeg4videoparse: reset frame parser after parsing caps codec data
... so as to arrange for a proper fresh state upon first frame.
2012-10-10 09:59:46 +02:00
Michael Smith
080677beef audioparse: add a mode where the caps are taken from the sink pad, and thus audioparse
is only performing timestamping.
2012-10-09 23:00:14 -07:00
Michael Smith
2a18cf41a8 mpegvideoparse: reset frame parser after parsing codec_data buffer in caps, to
avoid not correctly parsing the full first frame.
2012-10-09 21:19:15 -07:00
Mark Nauwelaerts
8596e8d5da mpeg4videoparse: properly mark config data presence
... which we allow to start at VisualObjectSequence or
at VideoObject.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=685709
2012-10-09 13:59:38 +02:00
Sebastian Dröge
12add5d529 fieldanalysis: Fix unitiailized variable compiler warning
And also use the pad's default event function instead
of just pushing to the peerpad. This makes sure any
default handling of events is called.
2012-10-08 12:38:20 +02:00
Sebastian Dröge
4570e8bec8 rtpvp8: Also commit remaining uncommitted changes... 2012-10-03 17:23:01 +02:00
Andoni Morales Alastruey
a423788940 rtpvp8: redifine vp8_norm to avoid duplicated symbols in static links with libvpx 2012-10-03 12:08:15 +02:00
Andoni Morales Alastruey
4d13feda83 videoparsers: fix duplicated symbols for static links with libschroedinger 2012-10-03 12:07:08 +02:00
Rob Clark
4dc648d343 dvdspu: add YV12 and NV12 support
https://bugzilla.gnome.org/show_bug.cgi?id=667220

Conflicts:
	gst/dvdspu/gstdvdspu.c
	gst/dvdspu/gstdvdspu.h
	gst/dvdspu/gstspu-pgs.c
	gst/dvdspu/gstspu-vobsub-render.c
2012-10-03 03:35:51 +10:00
Tim-Philipp Müller
f1f7171aa9 frei0r: fix plugin loading for frei0r elements that have no info.explanation
We don't allow empty descriptions for elements any more.
2012-09-29 13:22:34 +01:00
Nicolas Dufresne
9a2735a063 frei0r: Port to 1.0
https://bugzilla.gnome.org/show_bug.cgi?id=681678
2012-09-28 15:24:45 -04:00
Thiago Santos
8c8d1a0b6b wrappercamerabinsrc: change video-source if the user requested
When going from null to ready, check if the user requested to
use a new source and replace the current one.

Fixes #681562
2012-09-28 00:13:32 -03:00
Thiago Santos
c6fd3b070b wrappercamerabinsrc: pad probe ids are gulong
Change variable to the correct type
2012-09-27 23:22:37 -03:00
Thiago Santos
efd14946fd camerabin: use correct element name when replacing the video filter
The name was updated on the 0.10 -> 1.0 transition, but the
gst_bin_remove was still using the old name, causing an assertion
when replacing video-source-filter

https://bugzilla.gnome.org/show_bug.cgi?id=681564
2012-09-27 19:42:02 -03:00
Robert Swain
a5e92acee9 fieldanalysis: Port to 1.0
I was also vaguely forced to overhaul some bits and pieces and mess with
the data structures. This was mostly due to caps not being part of
buffers and so I had to switch to using GstVideoFrame and GstVideoInfo.
2012-09-25 11:07:09 +02:00
Olivier Crête
fbdf5eb6dc rtpdtmfdepay: Use 1.0-style caps negotiation and audio/x-raw 2012-09-22 15:00:27 -04:00
Tim-Philipp Müller
aeafab4bf0 intersubsrc: disable timestamping code that doesn't make sense
and which breaks the states check because we end up trying to
divide by 0.
2012-09-20 00:08:56 +01:00
Mark Nauwelaerts
7cf43c7b93 y4mdec: init videoinfo 2012-09-18 13:19:37 +02:00
Tim-Philipp Müller
591f6355e5 freeze: remove freeze element, was replaced by imagefreeze in -good years ago 2012-09-17 17:15:46 +01:00
Mark Nauwelaerts
5fad6e86d7 use gst_element_factory_get_metadata to replace obsolete API 2012-09-15 19:13:47 +02:00
Mark Nauwelaerts
5431286b2a replace _get_caps_reffed with _get_caps 2012-09-14 17:55:05 +02:00
Mark Nauwelaerts
578861abea replace gst_element_class_set_details_simple with gst_element_class_set_metadata 2012-09-14 17:27:49 +02:00
Mark Nauwelaerts
f2191d403c h264parse: init pps and sps structures before parsing
... which arranges for a valid fallback id, and allows to continue best effort
processing even when sps/pps parsing fails.
2012-09-14 17:27:49 +02:00
Peter Seiderer
a0d88d5ff5 gsth264parse: add comment where return should be checked.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=683264
2012-09-14 17:27:49 +02:00
Wim Taymans
147654a2b8 rename some caps 2012-09-14 16:49:24 +02:00
Wim Taymans
b8f913555d ffmpegcolorspace is no more 2012-09-14 16:45:34 +02:00
Wim Taymans
0d8f8a5134 rename some caps and elements in examples 2012-09-14 16:29:23 +02:00
Arnaud Vrac
744bd3d3f2 mpeg4videoparse: use previously parsed visual object when parsing VOL
https://bugzilla.gnome.org/show_bug.cgi?id=683254
2012-09-14 09:14:27 +02:00
Arnaud Vrac
207a76daea mpeg4videoparse: do not skip user data
User data was skipped until now, so the user data was included when
parsing the previous packet and in the config buffer.

https://bugzilla.gnome.org/show_bug.cgi?id=683254
2012-09-14 09:14:23 +02:00
Olivier Crête
aa23ea6fca interaudiosrc: Make caps writable in fixate 2012-09-13 15:51:02 -04:00
Olivier Crête
b1fcf14da5 inter: Port to 1.0 API
Also remove a lot of empty, non-implemented methods
2012-09-13 15:32:50 -04:00
Jan Schmidt
b7d63d3fb1 videoparsers: Disable PTS interpolation in the base parse class
All these formats have re-ordered PTS which the base class gets
wrong. It's better to leave them blank and let the decoder sort it
out. Better yet would be to track and interpolate the timestamps
in the subclasses (FIXME)
2012-09-12 23:05:47 -07:00
Jan Schmidt
8d5c1be312 dvdspu: Advance video stream with gap events.
Handle Gap events the way we used to handle segment updates
and advance/fill in the video stream accordingly. Fixes
'still' menus which aren't DVD still frames, but are just a
single frame with accompanying audio.
2012-09-12 23:05:47 -07:00
Jan Schmidt
c5c44628fc mpegvideoparse: Handle Sequence Display Extension
Change the way the pixel-aspect-ratio is computed by
interpreting the sequence header aspect ratio info
as MPEG-1 values until a sequence extension or
sequence display extension is seen, and then updating
the sequence header struct accordingly.

Fixes incorrect anamorphic display on some MPEG-2 (DVD)
sequences.
2012-09-12 23:05:47 -07:00
Tim-Philipp Müller
b5581cd0a4 segmentclip: fix wrong pad template unref
Blows up when trying to instantiate a second clip element
of the same type, like in the generic/states unit test.
2012-09-13 01:26:28 +01:00
Tim-Philipp Müller
871f7e0450 siren: init debug category before logging anything 2012-09-13 00:59:33 +01:00
Olivier Crête
6a66ebf784 pnm: Port to 1.0 API 2012-09-12 18:35:04 -04:00
Olivier Crête
bfb56f8380 freeze: Use a GPtrArray instead of a GQueue
This way, the most common function (changing buffers) becomes O(1) instead
of O(n)
2012-09-12 17:34:03 -04:00
Olivier Crête
e23e3d6b64 freeze: Port to 1.0 API 2012-09-12 17:24:26 -04:00
Olivier Crête
ab24971a81 speed: Various 1.0 style additions
Use GstAudioInfo everywhere, etc
2012-09-12 16:26:19 -04:00
Sreerenj Balachandran
98ffddb0f8 speed: port to 0.11
https://bugzilla.gnome.org/show_bug.cgi?id=683727
2012-09-12 16:06:44 -04:00
Olivier Crête
5111a6ed20 liveadder: port to 1.0 API 2012-09-12 16:03:13 -04:00
Stefan Sauer
27cd08ad95 collectpads: remove gst_collect_pads_add_pad_full
Rename gst_collect_pads_add_pad_full() to gst_collect_pads_add_pad() and fix all
invocations.
2012-09-12 21:13:35 +02:00
Olivier Crête
f207edfc44 siren: Port to 1.0 API 2012-09-12 12:14:53 -04:00
Edward Hervey
56ef4054ee dvbsuboverlay: Use default query handlers where needed
And fixup getcaps handler while I'm at it
2012-09-12 15:17:56 +02:00
Thiago Santos
8a8baa6a70 camerabin: port tagsetter mode setting code
Check directly with GST_IS_TAG_SETTER instead of using the
deprecated GstImplementsInterface

Fixes the image tag setting unit test
2012-09-12 09:48:32 -03:00
Gwenole Beauchesne
2c3eaf527b codecparsers: h264parse: don't use anonymous unions.
Anonymous union is an ISO C (2011) feature that is not exposed in
compilers strictly conforming to the previous standard.

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2012-09-12 10:39:32 +01:00
Peter Korsgaard
b04e61d8a4 opus + jpegformat: unbreak non-debug build
opus + jpegformat plugin builds fail when gstreamer is configured with
--disable-gst-debug as they are checking the GST_DISABLE_DEBUG symbol
instead of GST_DISABLE_GST_DEBUG.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>

https://bugzilla.gnome.org/show_bug.cgi?id=683850
2012-09-12 09:13:30 +01:00
Tim-Philipp Müller
3bb23a5e98 jpegformat: don't link to libgstinterfaces which doesn't exist any longer 2012-09-12 01:37:06 +01:00
Olivier Crête
77d4a59969 audiovisualizer: Don't try to sync controller values to invalid timestamp 2012-09-11 19:41:31 -04:00
Olivier Crête
1826c126bf jpegparse: Finish port to 1.0 API 2012-09-11 19:36:24 -04:00
Olivier Crête
977f84d272 autoconvert: Look at all possibilities for accept-caps even if there is a selected subelement
If the accept-caps succeeds with a different subelement, then the subsequent
caps event will change the current subelement.
2012-09-11 18:53:43 -04:00
Mark Nauwelaerts
b807753453 ext, gst: only activate in pull mode if upstream is seekable 2012-09-11 17:47:33 +02:00
Tim-Philipp Müller
3f0a844f9d festival: timed text is text/x-raw now 2012-09-11 15:08:49 +01:00
Tim-Philipp Müller
2c5138dd76 gdp: dump bytes into debug log using GST_MEMDUMP
Instead of home-grown solution.
2012-09-11 01:54:46 +01:00
Wim Taymans
ed451b1cd7 update for new variable names 2012-09-11 01:54:46 +01:00
Mark Nauwelaerts
712c63af44 gdppay: plug buffer leak 2012-09-11 01:54:46 +01:00
Tim-Philipp Müller
b928640b5e Use new gst_element_class_set_static_metadata() 2012-09-11 01:54:45 +01:00
Sebastian Dröge
ca7c2af1c4 gst: Update for GST_PLUGIN_DEFINE() API change 2012-09-11 01:54:45 +01:00
Wim Taymans
946dbd38d8 Improve buffer allocation of wrapped memory 2012-09-11 01:54:45 +01:00
Wim Taymans
f12af88f4a update for buffer api change 2012-09-11 01:54:45 +01:00
Wim Taymans
e817295aef update for buffer changes 2012-09-11 01:54:44 +01:00
Wim Taymans
38abb4a497 update for memory api changes 2012-09-11 01:54:44 +01:00
Wim Taymans
4ae0b5eb48 update for new memory api 2012-09-11 01:54:44 +01:00
Wim Taymans
30b45304e4 gdppay: fixup for changed caps
Try to send the streamheader after the first buffer.
2012-09-11 01:54:44 +01:00
Wim Taymans
66fb9166a4 dataprotocol: don't define default Category
Since we now include this into the unit tests directly, don't define the default
category macro because it conflicts with check.
2012-09-11 01:54:44 +01:00
Wim Taymans
f6cab316cc update for HEADER flag changes 2012-09-11 01:54:44 +01:00
Wim Taymans
33344dc2b9 port to new map API 2012-09-11 01:54:44 +01:00
Tim-Philipp Müller
2d7150414b gdp: move dataprotocol library into gdp plugin and make private
We have removed things like protocol=gdp in the tcp elements
in favour of explicit gdppay/depay elements, so there's no need
to keep a public API and library for now. We can still add it
back later. Someone needs to think hard about 0.11 and gdp
anyway one of these days.
2012-09-11 01:54:43 +01:00
Wim Taymans
d67bdd8375 gdp: fix header files
Ensure correct indentation and retab
Make sure all structure have padding
2012-09-11 01:54:41 +01:00
Wim Taymans
3bd55502a1 gdp: rename buffer PREROLL -> LIVE flag
Rename the GST_BUFFER_FLAG_PREROLL to GST_BUFFER_FLAG_LIVE and give the new flag
a meaning. The old PREROLL flag never had a clear meaning.
2012-09-11 01:54:41 +01:00
Wim Taymans
615063ba5e gdp: make new _buffer_allocate method
Make a new method to allocate a buffer + memory that takes the allocator and the
alignment as parameters. Provide a macro for the old method but prefer to use
the new method to encourage plugins to negotiate the allocator properly.
2012-09-11 01:54:41 +01:00
Wim Taymans
1136224e91 gdp: Rework GstSegment handling
Improve GstSegment, rename some fields. The idea is to have the GstSegment
structure represent the timing structure of the buffers as they are generated by
the source or demuxer element.
gst_segment_set_seek() -> gst_segment_do_seek()
Rename the NEWSEGMENT event to SEGMENT.
Make parsing of the SEGMENT event into a GstSegment structure.
Pass a GstSegment structure when making a new SEGMENT event. This allows us to
pass the timing info directly to the next element. No accumulation is needed in
the receiving element, all the info is inside the element.
Remove gst_segment_set_newsegment(): This function as used to accumulate
segments received from upstream, which is now not needed anymore because the
segment event contains the complete timing information.
2012-09-11 01:54:41 +01:00
Wim Taymans
b4305c56f5 gdp: Hide the GstStructure in GstEvent
Hide the GstStructure of the event in the implementation specific part so that
we can change it.
Add methods to check and make the event writable.
Add a new method to get a writable GstStructure of the element.
Avoid directly accising the event structure.
2012-09-11 01:54:41 +01:00
Stefan Kost
536f51cf98 gdp: add docs for GstDPPacketizer 2012-09-11 01:54:41 +01:00
Wim Taymans
7ec4633cef gdp: port code to new buffer data API 2012-09-11 01:54:41 +01:00
Wim Taymans
c25051cb01 gdp: remove deprecated code 2012-09-11 01:54:41 +01:00
Tim-Philipp Müller
2c9ac5a4c9 gdp: make public enum _get_type() functions thread-safe
Not that it is likely to matter in practice, but since these are public
API they should probably be thread-safe.
2012-09-11 01:54:40 +01:00
Tim-Philipp Müller
dbbbe59577 gdp: dataprotocol, lfocontrolsource: fix enum value name in enums that are public API
So run-time bindings can introspect the names correctly (we abuse this
field as description field only in elements, not for public API
(where the description belongs into the gtk-doc chunk).

https://bugzilla.gnome.org/show_bug.cgi?id=629946
2012-09-11 01:54:40 +01:00
Benjamin Otte
a7078b74fb gdp: Fixes for -Wmissing-declarations -Wmissing-prototypes
Also adds those flags to the configure warning flags

https://bugzilla.gnome.org/show_bug.cgi?id=611692
2012-09-11 01:54:39 +01:00
Benjamin Otte
b2314491b1 gdp: Make code safe for -Wredundant-decls
Adds that warning to configure.ac

Includes a tiny change of the GST_BOILERPLATE_FULL() macro:
The get_type() function is no longer declared before being defined.

https://bugzilla.gnome.org/show_bug.cgi?id=611692
2012-09-11 01:54:39 +01:00
Stefan Kost
c1574cfbd1 gdp: fix broken xrefs in docs 2012-09-11 01:54:39 +01:00
Sebastian Dröge
1774354a3a gdp: Don't write to the same region of memory as a uint64 and uint16 as this breaks ...
Original commit message from CVS:
* libs/gst/dataprotocol/dataprotocol.c:
Don't write to the same region of memory as a uint64 and uint16
as this breaks strict aliasing rules and apparantly breaks on PPC
and s390. Thanks to Sjoerd Simons for analysing. Fixes bug #348114.
2012-09-11 01:54:39 +01:00
Michael Smith
458f65fbba gdp: When calculating GDP body CRC, use the correct pointer.
Original commit message from CVS:
* libs/gst/dataprotocol/dataprotocol.c:
(gst_dp_packet_from_event_1_0):
When calculating GDP body CRC, use the correct pointer.
Fixes part of #522401.
2012-09-11 01:54:39 +01:00
Sebastian Dröge
90af674a5f gdp: Correct all relevant warnings found by the sparse semantic code analyzer. This include marking several symbols static...
Original commit message from CVS:
* gst/gstconfig.h.in:
* libs/gst/base/gstcollectpads.c: (gst_collect_pads_read_buffer):
* libs/gst/check/gstcheck.c: (gst_check_log_message_func),
(gst_check_log_critical_func), (gst_check_drop_buffers),
(gst_check_element_push_buffer_list):
* libs/gst/controller/gstcontroller.c: (gst_controller_get),
(gst_controller_get_type):
* libs/gst/controller/gsthelper.c: (gst_object_control_properties),
(gst_object_get_controller), (gst_object_get_control_source):
* libs/gst/controller/gstinterpolationcontrolsource.c:
(gst_interpolation_control_source_new):
* libs/gst/controller/gstlfocontrolsource.c:
(gst_lfo_control_source_new):
* libs/gst/dataprotocol/dataprotocol.c:
(gst_dp_event_from_packet_0_2):
* plugins/elements/gstfdsrc.c:
* plugins/elements/gstmultiqueue.c:
* plugins/elements/gsttee.c:
* plugins/elements/gsttypefindelement.c:
* plugins/indexers/gstfileindex.c: (_file_index_id_save_xml),
(gst_file_index_add_association):
* plugins/indexers/gstmemindex.c:
* tests/benchmarks/gstpollstress.c: (mess_some_more):
* tests/check/elements/queue.c: (setup_queue):
* tests/check/gst/gstpipeline.c:
* tests/check/libs/collectpads.c: (setup), (teardown),
(gst_collect_pads_suite):
* tests/examples/adapter/adapter_test.c:
* tests/examples/metadata/read-metadata.c: (make_pipeline):
* tests/examples/xml/createxml.c:
* tests/examples/xml/runxml.c:
* tools/gst-inspect.c:
* tools/gst-run.c:
Correct all relevant warnings found by the sparse semantic code
analyzer. This include marking several symbols static, using
NULL instead of 0 for pointers, not using variable sized arrays
on the stack, moving variable declarations to the beginning of
a block and using "foo (void)" instead of "foo ()" for declarations.
2012-09-11 01:54:39 +01:00
Damien Lespiau
c0362d43ab gdp: Fix empty prototypes. Fixes bug #507957.
Original commit message from CVS:
Patch by: Damien Lespiau <damien.lespiau@gmail.com>
* libs/gst/controller/gstcontroller.h:
* libs/gst/controller/gstcontrolsource.h:
* libs/gst/controller/gstinterpolationcontrolsource.h:
* libs/gst/controller/gstlfocontrolsource.h:
* libs/gst/dataprotocol/dataprotocol.h:
Fix empty prototypes.  Fixes bug #507957.
2012-09-11 01:54:39 +01:00
Tim-Philipp Müller
8941bdd4ee gdp: g_type_class_ref() other types as well, see #349410 and #64764.
Original commit message from CVS:
* gst/gst.c: (init_post):
* gst/gstevent.c: (_gst_event_initialize):
* gst/gstquery.c: (_gst_query_initialize):
* libs/gst/dataprotocol/dataprotocol.c (gst_dp_init):
g_type_class_ref() other types as well, see #349410 and #64764.
* gst/gstbuffer.c: (_gst_buffer_initialize):
* gst/gstmessage.c: (_gst_message_initialize):
Simplify existing g_type_class_ref().
2012-09-11 01:54:39 +01:00
Tim-Philipp Müller
328677c684 gdp: Printf fixes.
Original commit message from CVS:
* gst/gstpad.c: (pre_activate):
* gst/gstregistry.c: (gst_registry_scan_path_level):
* gst/gstregistryxml.c: (load_plugin):
* libs/gst/controller/gstcontroller.c:
(gst_controlled_property_set_interpolation_mode):
* libs/gst/dataprotocol/dataprotocol.c:
(gst_dp_packet_from_event_1_0):
* libs/gst/net/gstnetclientclock.c:
(gst_net_client_clock_observe_times):
* plugins/elements/gstfdsrc.c: (gst_fd_src_create):
Printf fixes.
2012-09-11 01:54:39 +01:00
Andy Wingo
a03185f5f2 gdp: GST_DISABLE_DEPRECATED is only for users of API that don't want to see deprecated functions in the headers; people th...
Original commit message from CVS:
2006-08-11  Andy Wingo  <wingo@pobox.com>

* configure.ac:
* libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
* tests/check/libs/gdp.c: (gst_dp_suite): GST_DISABLE_DEPRECATED
is only for users of API that don't want to see deprecated
functions in the headers; people that want to compile out
deprecated code should pass -DGST_REMOVE_DEPRECATED into the
CFLAGS. Fixes the build of multifdsink, or will soon..
2012-09-11 01:54:39 +01:00
Stefan Kost
562a1bbdd6 gdp: add gst_object_{s,g}et_control_rate(), add private data section, fix docs
Original commit message from CVS:
* docs/libs/gstreamer-libs-sections.txt:
* libs/gst/controller/gstcontroller.c:
(_gst_controller_get_property), (_gst_controller_set_property),
(_gst_controller_init), (_gst_controller_class_init):
* libs/gst/controller/gstcontroller.h:
* libs/gst/controller/gsthelper.c: (gst_object_get_control_rate),
(gst_object_set_control_rate):
API: add gst_object_{s,g}et_control_rate(), add private data section,
fix docs
* libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
* libs/gst/dataprotocol/dataprotocol.h:
add deprecation guards to make gtk-doc happy and allow disabling cruft
2012-09-11 01:54:38 +01:00
Wim Taymans
ae5528c28f gdp: Make debug category static
Original commit message from CVS:
* libs/gst/dataprotocol/dataprotocol.c:
(gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
(gst_dp_crc), (gst_dp_header_payload_length),
(gst_dp_header_payload_type), (gst_dp_packet_from_event),
(gst_dp_packet_from_event_1_0), (gst_dp_buffer_from_header),
(gst_dp_caps_from_packet), (gst_dp_event_from_packet_0_2),
(gst_dp_event_from_packet), (gst_dp_validate_header),
(gst_dp_validate_payload):
Make debug category static
Constify the crc table.
Do some more arg checking in public functions.
Fix some docs and do some small cleanups.
* tests/check/libs/gdp.c: (GST_START_TEST), (gst_dp_suite):
Add some more checks to see if GDP deals with bogus input.
2012-09-11 01:54:38 +01:00
Thomas Vander Stichele
93b60df9ac gdp: fix failure to deserialize event packets with empty payload (only ev...
Original commit message from CVS:
* libs/gst/dataprotocol/dataprotocol.c:
(gst_dp_event_from_packet_1_0):
Fixes #347337: failure to deserialize event packets with
empty payload (only event type)
2012-09-11 01:54:38 +01:00
Thomas Vander Stichele
499736b709 gdp: add a gdp image to the docs
Original commit message from CVS:

* docs/README:
* docs/images/gdp-header.svg:
add a gdp image
* docs/libs/Makefile.am:
* docs/libs/gdp-header.png:
* libs/gst/dataprotocol/dataprotocol.c:
add it to the API docs
* docs/manual/intro-motivation.xml:
fix typo
2012-09-11 01:54:38 +01:00
Thomas Vander Stichele
2c9aa80caa gdp: add note to docs about GDP versioning; remove tmpl file
Original commit message from CVS:
add note to docs about GDP versioning; remove tmpl file
2012-09-11 01:54:38 +01:00
Thomas Vander Stichele
84bbfbecc4 gdp: add a GstDPPacketizer object, and create/free functions
Original commit message from CVS:
* libs/gst/dataprotocol/dataprotocol.c:
(gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
(gst_dp_version_get_type), (gst_dp_init),
(gst_dp_header_from_buffer), (gst_dp_header_from_buffer_1_0),
(gst_dp_packet_from_caps), (gst_dp_packet_from_caps_1_0),
(gst_dp_packet_from_event), (gst_dp_packet_from_event_1_0),
(gst_dp_event_from_packet_0_2), (gst_dp_event_from_packet_1_0),
(gst_dp_event_from_packet), (gst_dp_packetizer_new),
(gst_dp_packetizer_free):
* libs/gst/dataprotocol/dataprotocol.h:
API: add a GstDPPacketizer object, and create/free functions
API: add GstDPVersion enum
Add 1.0 event function that uses the string serialization
Serialize more useful buffer flags
Fixes #343988
2012-09-11 01:54:38 +01:00
Thomas Vander Stichele
19ea4af5b3 gdp: factor out CRC code
Original commit message from CVS:
* libs/gst/dataprotocol/dataprotocol.c:
(gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
(gst_dp_packet_from_event):
factor out CRC code
2012-09-11 01:54:38 +01:00
Thomas Vander Stichele
10d21bc171 gdp: factor out some common header init code
Original commit message from CVS:
* libs/gst/dataprotocol/dataprotocol.c:
(gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
(gst_dp_packet_from_event):
factor out some common header init code
2012-09-11 01:54:38 +01:00
Thomas Vander Stichele
849da00210 gdp: make gst_dp_crc() public
Original commit message from CVS:

* docs/libs/gstreamer-libs-sections.txt:
* docs/libs/tmpl/gstdataprotocol.sgml:
* libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
* libs/gst/dataprotocol/dataprotocol.h:
API: make gst_dp_crc() public
2012-09-11 01:54:38 +01:00
Thomas Vander Stichele
25b5f08745 gdp: make sure we zero the whole ABI-compatible area
Original commit message from CVS:

* libs/gst/dataprotocol/dataprotocol.c:
(gst_dp_header_from_buffer):
make sure we zero the whole ABI-compatible area
2012-09-11 01:54:38 +01:00
Thomas Vander Stichele
c1b82e3cda gdp: whitespace, comment, doc fixup
Original commit message from CVS:
whitespace, comment, doc fixup
2012-09-11 01:54:38 +01:00
Michael Smith
1c7fae3d5d gdp: Fixes in reading/writing events over GDP (not currently used?) - dereferencing ...
Original commit message from CVS:
* libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
(gst_dp_event_from_packet):
Fixes in reading/writing events over GDP (not currently used?) -
dereferencing NULL events for unknown/invalid event types, memory
leak, and change g_warning to GST_WARNING.
2012-09-11 01:54:38 +01:00
Michael Smith
cfcef37b4f gdp: Fix docs for dataprocotol to not get the return types completely wrong for a fe...
Original commit message from CVS:
* libs/gst/dataprotocol/dataprotocol.c:
Fix docs for dataprocotol to not get the return types completely
wrong for a few functions.
2012-09-11 01:54:38 +01:00
Wim Taymans
fc5ec74824 gdp: Documentation updates.
Original commit message from CVS:
* libs/gst/base/gstadapter.c:
* libs/gst/base/gstadapter.h:
* libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
(gst_base_sink_get_position):
* libs/gst/base/gstbasesink.h:
* libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
(gst_base_src_default_query), (gst_base_src_default_do_seek),
(gst_base_src_do_seek), (gst_base_src_perform_seek),
(gst_base_src_send_event), (gst_base_src_update_length),
(gst_base_src_get_range), (gst_base_src_loop),
(gst_base_src_start):
* libs/gst/base/gstbasesrc.h:
* libs/gst/base/gstbasetransform.h:
* libs/gst/base/gstcollectpads.h:
* libs/gst/base/gstpushsrc.c:
* libs/gst/base/gstpushsrc.h:
* libs/gst/dataprotocol/dataprotocol.c:
* libs/gst/dataprotocol/dataprotocol.h:
* libs/gst/net/gstnetclientclock.h:
* libs/gst/net/gstnettimeprovider.h:
Documentation updates.
2012-09-11 01:54:38 +01:00
Andy Wingo
7e0a99936d gdp: Fix Timmeke Waymans bug.
Original commit message from CVS:
2005-10-13  Andy Wingo  <wingo@pobox.com>

* libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
Fix Timmeke Waymans bug.
(gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
string of the proper length to gst_caps_from_string. There's a
potential for, before this fix, that this could cause someone
connecting over the network to cause a segfault if the payload is
not NUL-terminated.
2012-09-11 01:54:37 +01:00
Thomas Vander Stichele
4447f427d7 gdp: fix more valgrind warnings before turning up the heat
Original commit message from CVS:
fix more valgrind warnings before turning up the heat
2012-09-11 01:54:37 +01:00
Wim Taymans
3e29c4db5c gdp: It's about time we bump the version number.
Original commit message from CVS:
* libs/gst/dataprotocol/dataprotocol.c:
(gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
(gst_dp_packet_from_event):
* libs/gst/dataprotocol/dataprotocol.h:
* libs/gst/dataprotocol/dp-private.h:
It's about time we bump the version number.
Since event types don't fit in the guint8 anymore describing
the payload type, make payload type 16 bits wide.
2012-09-11 01:54:37 +01:00
Andy Wingo
fd4cee0097 gdp: Fix error-checking return values.
Original commit message from CVS:
2005-09-27  Andy Wingo  <wingo@pobox.com>

* libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
values.
2012-09-11 01:54:37 +01:00
Wim Taymans
c960788378 gdp: Fix serialization of seek events.
Original commit message from CVS:
* libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
(gst_dp_event_from_packet):
Fix serialization of seek events.
2012-09-11 01:54:37 +01:00
Wim Taymans
1a0a543148 gdp: Some docs updates
Original commit message from CVS:
* CHANGES-0.9:
* docs/design/part-TODO.txt:
* docs/design/part-events.txt:
Some docs updates

* gst/base/gstbasesink.c: (gst_base_sink_handle_object),
(gst_base_sink_event), (gst_base_sink_do_sync),
(gst_base_sink_activate_push), (gst_base_sink_activate_pull):
* gst/base/gstbasesrc.c: (gst_base_src_send_discont),
(gst_base_src_do_seek), (gst_base_src_event_handler),
(gst_base_src_loop):
* gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
(gst_base_transform_configure_caps), (gst_base_transform_setcaps),
(gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
(gst_base_transform_event), (gst_base_transform_handle_buffer),
(gst_base_transform_set_passthrough),
(gst_base_transform_is_passthrough):
* gst/elements/gstfakesink.c: (gst_fake_sink_event):
* gst/elements/gstfilesink.c: (gst_file_sink_event):
Event updates.

* gst/gstbuffer.h:
Use faster casts.

* gst/gstelement.c: (gst_element_seek):
* gst/gstelement.h:
Update gst_element_seek.

* gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
(gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
(gst_event_new_flush_start), (gst_event_new_flush_stop),
(gst_event_new_eos), (gst_event_new_newsegment),
(gst_event_parse_newsegment), (gst_event_new_tag),
(gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
(gst_event_parse_qos), (gst_event_new_seek),
(gst_event_parse_seek), (gst_event_new_navigation):
* gst/gstevent.h:
Make GstEvent use GstStructure. Add parsing code, make sure the
API is sufficiently generic.
Mark possible directions of events and serialization.

* gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
(_gst_message_copy), (gst_message_new_segment_start),
(gst_message_new_segment_done), (gst_message_new_custom),
(gst_message_parse_segment_start),
(gst_message_parse_segment_done):
Small cleanups.

* gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
(gst_pad_set_caps), (gst_pad_send_event):
Update for new events.
Catch events sent in wrong directions.

* gst/gstqueue.c: (gst_queue_link_src),
(gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
(gst_queue_handle_src_query):
Event updates.

* gst/gsttag.c:
* gst/gsttag.h:
Remove event code from this file.

* libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
(gst_dp_event_from_packet):
Event updates.
2012-09-11 01:54:37 +01:00
Wim Taymans
4b241b4fba gdp: Ported dataprotol to 0.9.
Original commit message from CVS:
* configure.ac:
* libs/gst/dataprotocol/Makefile.am:
* libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
* libs/gst/dataprotocol/dataprotocol.h:
* pkgconfig/Makefile.am:
* pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
* pkgconfig/gstreamer-dataprotocol.pc.in:
Ported dataprotol to 0.9.
Added pkgconfig files.
2012-09-11 01:54:37 +01:00
David Schleef
fc38357861 gdp: remove GstData checks
Original commit message from CVS:
* check/Makefile.am: remove GstData checks
* check/gst-libs/gdp.c: (START_TEST): fix for API changes
* gst/Makefile.am: add miniobject, remove data
* gst/gst.h: add miniobject, remove data
* gst/gstdata.c: remove
* gst/gstdata.h: remove
* gst/gstdata_private.h: remove
* gst/gsttypes.h: remove GstEvent and GstMessage
* gst/gstelement.c: (gst_element_post_message): fix for API changes
* gst/gstmarshal.list: change BOXED -> OBJECT
Implement GstMiniObject.
* gst/gstminiobject.c:
* gst/gstminiobject.h:
Modify to be subclasses of GstMiniObject.
* gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
(gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
(gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
(gst_subbuffer_get_type), (gst_subbuffer_init),
(gst_buffer_create_sub), (gst_buffer_is_span_fast),
(gst_buffer_span):
* gst/gstbuffer.h:
* gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
(gst_event_class_init), (gst_event_init), (gst_event_finalize),
(_gst_event_copy), (gst_event_new):
* gst/gstevent.h:
* gst/gstmessage.c: (_gst_message_initialize),
(gst_message_get_type), (gst_message_class_init),
(gst_message_init), (gst_message_finalize), (_gst_message_copy),
(gst_message_new), (gst_message_new_error),
(gst_message_new_warning), (gst_message_new_tag),
(gst_message_new_state_changed), (gst_message_new_application):
* gst/gstmessage.h:
* gst/gstprobe.c: (gst_probe_perform),
(gst_probe_dispatcher_dispatch):
* gst/gstprobe.h:
* gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
(gst_query_class_init), (gst_query_finalize), (gst_query_init),
(_gst_query_copy), (gst_query_new):
Update elements for GstData -> GstMiniObject changes
* gst/gstquery.h:
* gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
(gst_queue_chain), (gst_queue_loop):
* gst/elements/gstbufferstore.c:
(gst_buffer_store_add_buffer_func),
(gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
* gst/elements/gstfakesink.c: (gst_fakesink_class_init),
(gst_fakesink_render):
* gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
* gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
(gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
(gst_mmap_buffer_finalize), (gst_filesrc_map_region),
(gst_filesrc_create_read):
* gst/elements/gstidentity.c: (gst_identity_class_init):
* gst/elements/gsttypefindelement.c:
(gst_type_find_element_src_event), (free_entry_buffers),
(gst_type_find_element_handle_event):
* libs/gst/dataprotocol/dataprotocol.c:
(gst_dp_header_from_buffer):
* libs/gst/dataprotocol/dataprotocol.h:
* libs/gst/dataprotocol/dp-private.h:
2012-09-11 01:54:37 +01:00
Andy Wingo
cfb692090f gdp: GCC 4 fixen.
Original commit message from CVS:
2005-05-04  Andy Wingo <wingo@pobox.com>

* check/Makefile.am:
* docs/gst/tmpl/gstatomic.sgml:
* docs/gst/tmpl/gstplugin.sgml:
* gst/base/gstbasesink.c: (gst_basesink_activate):
* gst/base/gstbasesrc.c: (gst_basesrc_class_init),
(gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
(gst_basesrc_query), (gst_basesrc_set_property),
(gst_basesrc_get_property), (gst_basesrc_check_get_range),
(gst_basesrc_activate):
* gst/base/gstbasesrc.h:
* gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
(gst_base_transform_src_activate):
* gst/elements/gstelements.c:
* gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
(gst_fakesrc_set_property), (gst_fakesrc_get_property):
* gst/elements/gsttee.c: (gst_tee_sink_activate):
* gst/elements/gsttypefindelement.c: (find_element_get_length),
(gst_type_find_element_checkgetrange),
(gst_type_find_element_activate):
* gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
* gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
(gst_caps_load_thyself):
* gst/gstelement.c: (gst_element_pads_activate),
(gst_element_save_thyself), (gst_element_restore_thyself):
* gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
(gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
* gst/gstpad.h:
* gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
(gst_xml_parse_file), (gst_xml_parse_memory),
(gst_xml_get_element), (gst_xml_make_element):
* gst/indexers/gstfileindex.c: (gst_file_index_load),
(_file_index_id_save_xml), (gst_file_index_commit):
* gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
(read_enum), (load_pad_template), (load_feature), (load_plugin),
(load_paths):
* libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
(gst_dp_packet_from_event), (gst_dp_caps_from_packet):
* tools/gst-complete.c: (main):
* tools/gst-compprep.c: (main):
* tools/gst-inspect.c: (print_element_properties_info):
* tools/gst-launch.c: (xmllaunch_parse_cmdline):
* tools/gst-xmlinspect.c: (print_element_properties):
GCC 4 fixen.
2012-09-11 01:54:37 +01:00
Wim Taymans
f97b03672b gdp: Next big merge.
Original commit message from CVS:
Next big merge.
Added GstBus for mainloop integration.
Added GstMessage for sending notifications on the bus.
Added GstTask as an abstraction for pipeline entry points.
Removed GstThread.
Removed Schedulers.
Simplified GstQueue for multithreaded core.
Made _link threadsafe, removed old capsnego.
Added STREAM_LOCK and PREROLL_LOCK in GstPad.
Added pad blocking functions.
Reworked scheduling functions in GstPad to prepare for
scheduling updates soon.
Moved events out of data stream.
Simplified GstEvent types.
Added return values to push/pull.
Removed clocking from GstElement.
Added prototypes for state change function for next merge.
Removed iterate from bins and state change management.
Fixed some elements, disabled others for now.
Fixed -inspect and -launch.
Added check for GstBus.
2012-09-11 01:54:37 +01:00
Wim Taymans
278a383cd1 gdp: First THREADED backport attempt, focusing on adding locks and making sure the API is threadsafe. Needs more work. Mor...
Original commit message from CVS:
First THREADED backport attempt, focusing on adding locks and
making sure the API is threadsafe. Needs more work. More docs
follow this week.
2012-09-11 01:54:37 +01:00
Zaheer Abbas Merali
0e084e2179 gdp: Allocate the 1 byte more memory that was forgotten!!!!!
Original commit message from CVS:
2005-02-18  Zaheer Abbas Merali  <zaheerabbas at merali dot org>

* libs/gst/dataprotocol/dataprotocol.c: (gst_dp_dump_byte_array):
Allocate the 1 byte more memory that was forgotten!!!!!
2012-09-11 01:54:37 +01:00
Wim Taymans
b8d7a44a41 gdp: Fix threadsafety of the crc checking function.
Original commit message from CVS:
* libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
Fix threadsafety of the crc checking function.
2012-09-11 01:54:37 +01:00
Thomas Vander Stichele
a2c2a91a8b gdp: fix for #150242
Original commit message from CVS:
fix for #150242
2012-09-11 01:54:37 +01:00
Thomas Vander Stichele
597f6b9ff2 gdp: doc style fixes
Original commit message from CVS:
doc style fixes
2012-09-11 01:54:37 +01:00
Thomas Vander Stichele
6139c0bf85 gdp: bump GDP to 0.1, add buffer flags
Original commit message from CVS:
bump GDP to 0.1, add buffer flags
2012-09-11 01:54:36 +01:00
Thomas Vander Stichele
2070420420 gdp: wrap header in _NEW
Original commit message from CVS:
wrap header in _NEW
2012-09-11 01:54:36 +01:00
Thomas Vander Stichele
8a1f20c5c5 Original commit message from CVS: use GST macros; add asserts 2012-09-11 01:54:36 +01:00
Thomas Vander Stichele
0f505e071f gdp: private prototype
Original commit message from CVS:
private prototype
2012-09-11 01:54:36 +01:00
Thomas Vander Stichele
e174bad995 gdp: add dataprotocol
Original commit message from CVS:
clean up libs docs; add dataprotocol
2012-09-11 01:54:36 +01:00
Wim Taymans
f751de2850 add parent to pad functions 2012-09-11 01:54:36 +01:00
Wim Taymans
89af03a2b9 update for adapter api changes 2012-09-11 01:54:36 +01:00
Tim-Philipp Müller
9151a5f88f gdppay: parse caps event and payload caps
Which makes it actually output stuff.
2012-09-11 01:54:36 +01:00
Wim Taymans
7713d67993 -base: update for buffer API change 2012-09-11 01:54:36 +01:00
Wim Taymans
5981bbfdf3 -base: port to new SEGMENT API 2012-09-11 01:54:36 +01:00
Wim Taymans
8b39dc2f80 segment: fix for new core API
Fix for gst_*_segment_full rename.
2012-09-11 01:54:36 +01:00
Wim Taymans
a1c42ffe0b -base: don't use buffer caps
Port to newest 0.11 core API, remove GST_PAD_CAPS and GST_BUFFER_CAPS.
2012-09-11 01:54:35 +01:00
Sebastian Dröge
878caef597 gst: Use G_DEFINE_TYPE instead of GST_BOILERPLATE 2012-09-11 01:54:34 +01:00
Alessandro Decina
d33dd31fc7 android: make it ready for androgenizer
Remove the android/ top dir
Fixe the Makefile.am to be androgenized

To build gstreamer for android we are now using androgenizer which generates the
needed Android.mk files.
Androgenizer can be found here:
http://git.collabora.co.uk/?p=user/derek/androgenizer.git
2012-09-11 01:54:34 +01:00
Wim Taymans
b3da9ca972 bufferlist: fixes for new API 2012-09-11 01:54:34 +01:00
Wim Taymans
0e90a45365 plugins: port some plugins to the new memory API 2012-09-11 01:54:34 +01:00
Andoni Morales Alastruey
ce639b529b gdppay: ensure buffer's metadata is writable before setting caps 2012-09-11 01:54:33 +01:00
David Schleef
70c399426e gdppay: make newsegment buffer metadata writable 2012-09-11 01:54:33 +01:00
Benjamin Otte
6aae8db723 gst_element_class_set_details => gst_element_class_set_details_simple
Also change my email from the old university one to the current one.
2012-09-11 01:54:33 +01:00
Benjamin Otte
383c43abe5 Add -Wmissing-declarations -Wmissing-prototypes to warning flags
Includes all the fixes necessary to make stuff compile again.
2012-09-11 01:54:33 +01:00
Olivier Crête
925150953d gdpdepay: Clear adapter on flush and state change
Fixes #600469
2012-09-11 01:54:33 +01:00
Tim-Philipp Müller
16e05084df Remove GST_DEBUG_FUNCPTR where they're pointless
There's not much point in using GST_DEBUG_FUNCPTR with GObject
virtual functions such as get_property, set_propery, finalize and
dispose, since they'll never be used by anyone anyway. Saves a
few bytes and possibly a sixteenth of a polar bear.
2012-09-11 01:54:33 +01:00
Jan Schmidt
5a1492dc0b gdppay: Don't repeat tags buffers for every new segment
Only send a tag buffer when one is received, not after every new segment
event/update.
2012-09-11 01:54:33 +01:00
Marc-André Lureau
04133c2d31 Bug 593035 - set IN_CAPS for streamheader buffer 2012-09-11 01:54:33 +01:00
Wim Taymans
e56bf3929e gdppay: set caps on outgoing buffers
Set caps on outgoing buffers because NULL caps confuse basetransform.
Fixes #583867
2012-09-11 01:54:33 +01:00
Stefan Kost
f2cf891385 Don't install static libs for plugins. Fixes #550851 for base.
Original commit message from CVS:
* ext/alsa/Makefile.am:
* ext/cdparanoia/Makefile.am:
* ext/gio/Makefile.am:
* ext/gnomevfs/Makefile.am:
* ext/libvisual/Makefile.am:
* ext/ogg/Makefile.am:
* ext/pango/Makefile.am:
* ext/theora/Makefile.am:
* ext/vorbis/Makefile.am:
* gst/adder/Makefile.am:
* gst/audioconvert/Makefile.am:
* gst/audiorate/Makefile.am:
* gst/audioresample/Makefile.am:
* gst/audiotestsrc/Makefile.am:
* gst/ffmpegcolorspace/Makefile.am:
* gst/gdp/Makefile.am:
* gst/playback/Makefile.am:
* gst/subparse/Makefile.am:
* gst/tcp/Makefile.am:
* gst/typefind/Makefile.am:
* gst/videorate/Makefile.am:
* gst/videoscale/Makefile.am:
* gst/videotestsrc/Makefile.am:
* gst/volume/Makefile.am:
* sys/v4l/Makefile.am:
* sys/ximage/Makefile.am:
* sys/xvimage/Makefile.am:
Don't install static libs for plugins. Fixes #550851 for base.
2012-09-11 01:54:33 +01:00
Stefan Kost
526c4b5184 Cleanup Plugin docs. Link to signals and properties. Fix sub-section titles. Drop mentining that all our example pipe...
Original commit message from CVS:
* docs/plugins/gst-plugins-base-plugins-docs.sgml:
* docs/plugins/gst-plugins-base-plugins-overrides.txt:
* docs/plugins/gst-plugins-base-plugins-sections.txt:
* docs/plugins/gst-plugins-base-plugins.args:
* docs/plugins/gst-plugins-base-plugins.hierarchy:
* docs/plugins/gst-plugins-base-plugins.interfaces:
* docs/plugins/gst-plugins-base-plugins.prerequisites:
* docs/plugins/gst-plugins-base-plugins.signals:
* docs/plugins/inspect/plugin-adder.xml:
* docs/plugins/inspect/plugin-alsa.xml:
* docs/plugins/inspect/plugin-audioconvert.xml:
* docs/plugins/inspect/plugin-audiorate.xml:
* docs/plugins/inspect/plugin-audioresample.xml:
* docs/plugins/inspect/plugin-audiotestsrc.xml:
* docs/plugins/inspect/plugin-cdparanoia.xml:
* docs/plugins/inspect/plugin-decodebin.xml:
* docs/plugins/inspect/plugin-ffmpegcolorspace.xml:
* docs/plugins/inspect/plugin-gdp.xml:
* docs/plugins/inspect/plugin-gnomevfs.xml:
* docs/plugins/inspect/plugin-libvisual.xml:
* docs/plugins/inspect/plugin-ogg.xml:
* docs/plugins/inspect/plugin-pango.xml:
* docs/plugins/inspect/plugin-playback.xml:
* docs/plugins/inspect/plugin-queue2.xml:
* docs/plugins/inspect/plugin-subparse.xml:
* docs/plugins/inspect/plugin-tcp.xml:
* docs/plugins/inspect/plugin-theora.xml:
* docs/plugins/inspect/plugin-typefindfunctions.xml:
* docs/plugins/inspect/plugin-uridecodebin.xml:
* docs/plugins/inspect/plugin-video4linux.xml:
* docs/plugins/inspect/plugin-videorate.xml:
* docs/plugins/inspect/plugin-videoscale.xml:
* docs/plugins/inspect/plugin-videotestsrc.xml:
* docs/plugins/inspect/plugin-volume.xml:
* docs/plugins/inspect/plugin-vorbis.xml:
* docs/plugins/inspect/plugin-ximagesink.xml:
* docs/plugins/inspect/plugin-xvimagesink.xml:
* ext/alsa/gstalsamixer.c:
* ext/alsa/gstalsasink.c:
* ext/alsa/gstalsasrc.c:
* ext/gio/gstgiosink.c:
* ext/gio/gstgiosrc.c:
* ext/gio/gstgiostreamsink.c:
* ext/gio/gstgiostreamsrc.c:
* ext/gnomevfs/gstgnomevfssink.c:
* ext/gnomevfs/gstgnomevfssrc.c:
* ext/ogg/gstoggdemux.c:
* ext/ogg/gstoggmux.c:
* ext/pango/gstclockoverlay.c:
* ext/pango/gsttextoverlay.c:
* ext/pango/gsttextrender.c:
* ext/pango/gsttimeoverlay.c:
* ext/theora/theoradec.c:
* ext/theora/theoraenc.c:
* ext/theora/theoraparse.c:
* ext/vorbis/vorbisdec.c:
* ext/vorbis/vorbisenc.c:
* ext/vorbis/vorbisparse.c:
* ext/vorbis/vorbistag.c:
* gst/adder/gstadder.c:
* gst/audioconvert/gstaudioconvert.c:
* gst/audioresample/gstaudioresample.c:
* gst/audiotestsrc/gstaudiotestsrc.c:
* gst/ffmpegcolorspace/gstffmpegcolorspace.c:
* gst/gdp/gstgdpdepay.c:
* gst/gdp/gstgdppay.c:
* gst/playback/gstdecodebin2.c:
* gst/playback/gstplaybin.c:
* gst/playback/gstplaybin2.c:
* gst/playback/gstqueue2.c:
* gst/playback/gsturidecodebin.c:
* gst/tcp/gstmultifdsink.c:
* gst/tcp/gsttcpserversink.c:
* gst/videorate/gstvideorate.c:
* gst/videoscale/gstvideoscale.c:
* gst/videotestsrc/gstvideotestsrc.c:
* gst/volume/gstvolume.c:
* sys/ximage/ximagesink.c:
* sys/xvimage/xvimagesink.c:
Cleanup Plugin docs. Link to signals and properties. Fix sub-section
titles. Drop mentining that all our example pipelines are "simple"
pipelines.
2012-09-11 01:54:32 +01:00
Antoine Tremblay
a0679f9e56 gst/gdp/gstgdppay.c: Fix a buffer memleak and remove a confusing and wrong debug output.
Original commit message from CVS:
Patch by: Antoine Tremblay <hexa00 at gmail dot com>
* gst/gdp/gstgdppay.c: (gst_gdp_pay_reset):
Fix a buffer memleak and remove a confusing and wrong debug output.
Fixes bug #538663.
2012-09-11 01:54:32 +01:00
Antoine Tremblay
ba89323790 gst/gdp/gstgdppay.c: Don't set caps on the buffers that contain a copy of the buffer including the caps of them resul...
Original commit message from CVS:
Patch by: Antoine Tremblay <hexa00 at gmail dot com>
* gst/gdp/gstgdppay.c: (gst_gdp_pay_reset_streamheader):
Don't set caps on the buffers that contain a copy of the buffer
including the caps of them resulting in an always increasing refcount
of the caps and insanely large caps. Instead include a buffer without
caps in the new caps. Fixes bug #536475.
2012-09-11 01:54:32 +01:00
Jan Schmidt
c5520eea2a Add some documentation comments, and some new headers to be scanned.
Original commit message from CVS:
* docs/plugins/Makefile.am:
* docs/plugins/gst-plugins-base-plugins-overrides.txt:
* docs/plugins/gst-plugins-base-plugins-sections.txt:
* docs/plugins/gst-plugins-base-plugins.args:
* docs/plugins/gst-plugins-base-plugins.hierarchy:
* docs/plugins/gst-plugins-base-plugins.interfaces:
* docs/plugins/gst-plugins-base-plugins.prerequisites:
* docs/plugins/inspect/plugin-adder.xml:
* docs/plugins/inspect/plugin-alsa.xml:
* docs/plugins/inspect/plugin-audioconvert.xml:
* docs/plugins/inspect/plugin-audiorate.xml:
* docs/plugins/inspect/plugin-audioresample.xml:
* docs/plugins/inspect/plugin-audiotestsrc.xml:
* docs/plugins/inspect/plugin-cdparanoia.xml:
* docs/plugins/inspect/plugin-decodebin.xml:
* docs/plugins/inspect/plugin-ffmpegcolorspace.xml:
* docs/plugins/inspect/plugin-gdp.xml:
* docs/plugins/inspect/plugin-gio.xml:
* docs/plugins/inspect/plugin-gnomevfs.xml:
* docs/plugins/inspect/plugin-libvisual.xml:
* docs/plugins/inspect/plugin-ogg.xml:
* docs/plugins/inspect/plugin-pango.xml:
* docs/plugins/inspect/plugin-playback.xml:
* docs/plugins/inspect/plugin-queue2.xml:
* docs/plugins/inspect/plugin-subparse.xml:
* docs/plugins/inspect/plugin-tcp.xml:
* docs/plugins/inspect/plugin-theora.xml:
* docs/plugins/inspect/plugin-typefindfunctions.xml:
* docs/plugins/inspect/plugin-uridecodebin.xml:
* docs/plugins/inspect/plugin-video4linux.xml:
* docs/plugins/inspect/plugin-videorate.xml:
* docs/plugins/inspect/plugin-videoscale.xml:
* docs/plugins/inspect/plugin-videotestsrc.xml:
* docs/plugins/inspect/plugin-volume.xml:
* docs/plugins/inspect/plugin-vorbis.xml:
* docs/plugins/inspect/plugin-ximagesink.xml:
* docs/plugins/inspect/plugin-xvimagesink.xml:
* ext/cdparanoia/gstcdparanoiasrc.c:
* ext/ogg/gstoggdemux.c:
* ext/ogg/gstoggdemux.h:
* ext/ogg/gstoggmux.c:
* ext/ogg/gstoggmux.h:
* gst/audioconvert/audioconvert.c:
* gst/audioconvert/audioconvert.h:
* gst/audioconvert/gstaudioconvert.h:
* gst/gdp/gstgdpdepay.h:
* gst/gdp/gstgdppay.h:
* gst/playback/gstdecodebin.c:
* gst/playback/gstdecodebin2.c:
* gst/playback/gstplaybin.c:
* gst/playback/gstplaybin2.c:
* gst/playback/gsturidecodebin.c:
* gst/tcp/gstmultifdsink.c:
* gst/tcp/gstmultifdsink.h:
* gst/tcp/gsttcp.h:
Add some documentation comments, and some new headers to be scanned.
Rename some internal enum declarations (audioconvert's DitherType and
NoiseShapingType, GstUnitType from the TCP elements) to match the
documented GObject type names so that the docs pick them up.
Name the playbin2 docs markups properly so they get picked up. They'll
need renaming back when/if playbin2 becomes playbin.
100% symbol coverage for the plugin docs, booya.
2012-09-11 01:54:32 +01:00
Antoine Tremblay
79c0a10f00 gst/gdp/gstgdppay.c: Close a buffer memory leak. Fixes bug #534071.
Original commit message from CVS:
Patch by: Antoine Tremblay <hexa00 at gmail dot com>
* gst/gdp/gstgdppay.c: (gst_gdp_pay_chain):
Close a buffer memory leak. Fixes bug #534071.
2012-09-11 01:54:32 +01:00
Edward Hervey
6f7b2e2a3b gst/gdp/gstgdpdepay.c: Don't validate the payload if there isn't any.
Original commit message from CVS:
* gst/gdp/gstgdpdepay.c: (gst_gdp_depay_chain):
Don't validate the payload if there isn't any.
Fixes #525915
2012-09-11 01:54:32 +01:00
Michael Smith
41be2b32d0 gst/gdp/gstgdpdepay.c: Check the body CRC (if set) when depayloading.
Original commit message from CVS:
* gst/gdp/gstgdpdepay.c: (gst_gdp_depay_chain):
Check the body CRC (if set) when depayloading.
Fixes #522401.
2012-09-11 01:54:32 +01:00
Sebastian Dröge
a8bf6e2d8a Use G_PARAM_STATIC_STRINGS everywhere for GParamSpecs that use static strings (i.e. all). This gives us less memory u...
Original commit message from CVS:
* configure.ac:
* ext/alsa/gstalsamixerelement.c:
(gst_alsa_mixer_element_class_init):
* ext/alsa/gstalsasink.c: (gst_alsasink_class_init):
* ext/alsa/gstalsasrc.c: (gst_alsasrc_class_init):
* ext/cdparanoia/gstcdparanoiasrc.c:
(gst_cd_paranoia_src_class_init):
* ext/gio/gstgiosink.c: (gst_gio_sink_class_init):
* ext/gio/gstgiosrc.c: (gst_gio_src_class_init):
* ext/gio/gstgiostreamsink.c: (gst_gio_stream_sink_class_init):
* ext/gio/gstgiostreamsrc.c: (gst_gio_stream_src_class_init):
* ext/gnomevfs/gstgnomevfssink.c: (gst_gnome_vfs_sink_class_init):
* ext/gnomevfs/gstgnomevfssrc.c: (gst_gnome_vfs_src_class_init):
* ext/ogg/gstoggmux.c: (gst_ogg_mux_class_init):
* ext/pango/gsttextoverlay.c: (gst_text_overlay_class_init):
* ext/pango/gsttextrender.c: (gst_text_render_class_init):
* ext/theora/theoradec.c: (gst_theora_dec_class_init):
* ext/theora/theoraenc.c: (gst_theora_enc_class_init):
* ext/theora/theoraparse.c: (gst_theora_parse_class_init):
* ext/vorbis/vorbisenc.c: (gst_vorbis_enc_class_init):
* gst-libs/gst/audio/gstaudiofiltertemplate.c:
(gst_audio_filter_template_class_init):
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_class_init):
* gst-libs/gst/audio/gstbaseaudiosrc.c:
(gst_base_audio_src_class_init):
* gst-libs/gst/cdda/gstcddabasesrc.c:
(gst_cdda_base_src_class_init):
* gst-libs/gst/interfaces/mixertrack.c:
(gst_mixer_track_class_init):
* gst-libs/gst/rtp/gstbasertpdepayload.c:
(gst_base_rtp_depayload_class_init):
* gst-libs/gst/rtp/gstbasertppayload.c:
(gst_basertppayload_class_init):
* gst/audioconvert/gstaudioconvert.c:
(gst_audio_convert_class_init):
* gst/audiorate/gstaudiorate.c: (gst_audio_rate_class_init):
* gst/audioresample/gstaudioresample.c:
(gst_audioresample_class_init):
* gst/audiotestsrc/gstaudiotestsrc.c:
(gst_audio_test_src_class_init):
* gst/gdp/gstgdppay.c: (gst_gdp_pay_class_init):
* gst/playback/gstdecodebin2.c: (gst_decode_bin_class_init):
* gst/playback/gstplaybasebin.c: (gst_play_base_bin_class_init),
(preroll_unlinked):
* gst/playback/gstplaybin.c: (gst_play_bin_class_init):
* gst/playback/gstplaybin2.c: (gst_play_bin_class_init):
* gst/playback/gstplaysink.c: (gst_play_sink_class_init):
* gst/playback/gstqueue2.c: (gst_queue_class_init):
* gst/playback/gststreaminfo.c: (gst_stream_info_class_init):
* gst/playback/gststreamselector.c: (gst_selector_pad_class_init),
(gst_stream_selector_class_init):
* gst/playback/gsturidecodebin.c: (gst_uri_decode_bin_class_init):
* gst/subparse/gstsubparse.c: (gst_sub_parse_class_init):
* gst/tcp/gstmultifdsink.c: (gst_multi_fd_sink_class_init):
* gst/tcp/gsttcpclientsink.c: (gst_tcp_client_sink_class_init):
* gst/tcp/gsttcpclientsrc.c: (gst_tcp_client_src_class_init):
* gst/tcp/gsttcpserversink.c: (gst_tcp_server_sink_class_init):
* gst/tcp/gsttcpserversrc.c: (gst_tcp_server_src_class_init):
* gst/videorate/gstvideorate.c: (gst_video_rate_class_init):
* gst/videoscale/gstvideoscale.c: (gst_video_scale_class_init):
* gst/videotestsrc/gstvideotestsrc.c:
(gst_video_test_src_class_init):
* gst/volume/gstvolume.c: (gst_volume_class_init):
* sys/v4l/gstv4lelement.c: (gst_v4lelement_class_init):
* sys/v4l/gstv4lmjpegsink.c: (gst_v4lmjpegsink_class_init):
* sys/v4l/gstv4lmjpegsrc.c: (gst_v4lmjpegsrc_class_init):
* sys/v4l/gstv4lsrc.c: (gst_v4lsrc_class_init):
* sys/ximage/ximagesink.c: (gst_ximagesink_class_init):
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_class_init):
Use G_PARAM_STATIC_STRINGS everywhere for GParamSpecs that use
static strings (i.e. all). This gives us less memory usage,
fewer allocations and thus less memory defragmentation. Depend
on core CVS for this. Fixes bug #523806.
2012-09-11 01:54:32 +01:00
Thomas Vander Stichele
5b15ce712b gst/gdp/gstgdppay.c (gst_gdp_pay_chain): tests/check/pipelines/streamheader.c (tag_event_probe_cb,
Original commit message from CVS:
* gst/gdp/gstgdppay.c (gst_gdp_pay_chain):
* tests/check/pipelines/streamheader.c (tag_event_probe_cb,
GST_START_TEST, buffer_probe_cb, GST_START_TEST):
Fix a bug where serialized IN_CAPS buffers needed to be set IN_CAPS.
2012-09-11 01:54:32 +01:00
Thomas Vander Stichele
ef3dbd48da debug changes
Original commit message from CVS:
debug changes
2012-09-11 01:54:31 +01:00
Wim Taymans
1ed9b0fff4 gst/gdp/gstgdppay.c: Make sure we set the IN_CAPS flag correctly.
Original commit message from CVS:
* gst/gdp/gstgdppay.c: (gst_gdp_pay_chain),
(gst_gdp_pay_sink_event):
Make sure we set the IN_CAPS flag correctly.
* gst/tcp/gstmultifdsink.c: (gst_multi_fd_sink_render):
Get the IN_CAPS flag before we call functions that mess with the flags.
2012-09-11 01:54:31 +01:00
Thomas Vander Stichele
c1c0767689 gst/gdp/gstgdppay.c (gst_gdp_pay_reset_streamheader, gst_gdp_pay_chain, gst_gdp_pay_sink_event):
Original commit message from CVS:
* gst/gdp/gstgdppay.c (gst_gdp_pay_reset_streamheader,
gst_gdp_pay_chain, gst_gdp_pay_sink_event):
Only stamp buffers with offset/offset_end right before they get
pushed.  This ensures offset continuity, which was not the case
before as shown by
gst-launch -v -m audiotestsrc num-buffers=10 ! audioconvert ! vorbisenc ! gdppay ! identity check-imperfect-offset=TRUE ! fakesink silent=TRUE
2012-09-11 01:54:31 +01:00
Thomas Vander Stichele
4b972637e1 adding debugging
Original commit message from CVS:
adding debugging
2012-09-11 01:54:31 +01:00
Thomas Vander Stichele
9e3bb940b2 add buffer logging
Original commit message from CVS:
add buffer logging
2012-09-11 01:54:31 +01:00
Michael Smith
377554d9eb gst/gdp/gstgdppay.c: Fix memory leaks and misleading debug messages, add a couple of comments.
Original commit message from CVS:
* gst/gdp/gstgdppay.c: (gst_gdp_pay_reset),
(gst_gdp_pay_reset_streamheader), (gst_gdp_pay_chain):
Fix memory leaks and misleading debug messages, add a couple of
comments.

* gst/tcp/gstmultifdsink.c: (gst_multi_fd_sink_get_stats),
(gst_multi_fd_sink_render):
Do not use gst_buffer_make_writable() in a basesink render method,
as it may incorrectly unref the buffer. Instead, use convoluted
dance to avoid copying the buffer except when we need to.
2012-09-11 01:54:31 +01:00
Thomas Vander Stichele
ab0f3921f5 adding a README
Original commit message from CVS:
adding a README
2012-09-11 01:54:31 +01:00
Thomas Vander Stichele
760d64bab2 Move GDP plugin to -base from -bad. Closes #347783.
Original commit message from CVS:
* configure.ac:
* docs/plugins/Makefile.am:
* docs/plugins/gst-plugins-base-plugins-docs.sgml:
* docs/plugins/gst-plugins-base-plugins-sections.txt:
* docs/plugins/inspect/plugin-gdp.xml:
* gst/gdp/Makefile.am:
* tests/check/Makefile.am:
Move GDP plugin to -base from -bad.  Closes #347783.
2012-09-11 01:54:31 +01:00
Zaheer Abbas Merali
adf8399952 gst/gdp/gstgdpdepay.c: Fix event parsing by gdpdepay. Fixes #349916.
Original commit message from CVS:
2006-08-04  Zaheer Abbas Merali  <zaheerabbas at merali dot org>

* gst/gdp/gstgdpdepay.c: (gst_gdp_depay_chain):
Fix event parsing by gdpdepay.  Fixes #349916.
2012-09-11 01:54:30 +01:00
Wim Taymans
8b7b165e1b gst/gdp/gstgdpdepay.c: Disable seeking.
Original commit message from CVS:
* gst/gdp/gstgdpdepay.c: (gst_gdp_depay_init),
(gst_gdp_depay_finalize), (gst_gdp_depay_sink_event),
(gst_gdp_depay_src_event), (gst_gdp_depay_chain),
(gst_gdp_depay_change_state):
Disable seeking.
Small cleanups.
Clear adapter on disconts.
Clear caps when going to READY instead of NULL
* gst/gdp/gstgdppay.c: (gst_gdp_pay_class_init),
(gst_gdp_pay_init), (gst_gdp_pay_finalize), (gst_gdp_pay_reset),
(gst_gdp_buffer_from_caps), (gst_gdp_pay_buffer_from_buffer),
(gst_gdp_buffer_from_event), (gst_gdp_pay_reset_streamheader),
(gst_gdp_queue_buffer), (gst_gdp_pay_chain),
(gst_gdp_pay_sink_event), (gst_gdp_pay_src_event),
(gst_gdp_pay_change_state):
* gst/gdp/gstgdppay.h:
Reset payloader when going to READY.
Fix leaked buffers in ->queue on push errors.
Disable seeking.
Code cleanups.
Create packetizer in _init, free in _finalize.
2012-09-11 01:54:29 +01:00
Wim Taymans
6c124ba100 gst/gdp/gstgdpdepay.c: Consume all events except EOS because we generate events from the gdp payload instead. Fixes #...
Original commit message from CVS:
* gst/gdp/gstgdpdepay.c: (gst_gdp_depay_init),
(gst_gdp_depay_sink_event), (gst_gdp_depay_chain):
Consume all events except EOS because we generate events from
the gdp payload instead. Fixes #349204
2012-09-11 01:54:29 +01:00
Thomas Vander Stichele
0d7a03eda3 gst/gdp/gstgdpdepay.c: proxying get/set caps is the wrong thing to do, since we really do change caps quite fundament...
Original commit message from CVS:
* gst/gdp/gstgdpdepay.c: (gst_gdp_depay_init):
proxying get/set caps is the wrong thing to do, since we really
do change caps quite fundamentally
* tests/check/elements/gdpdepay.c:
* tests/check/elements/gdppay.c:
remove declaration of buffers, it's already done in gstcheck.h
2012-09-11 01:54:29 +01:00
Thomas Vander Stichele
afe32c11ec gst/gdp/: remove parent_class setting, BOILERPLATE does this fix typo in comment
Original commit message from CVS:
2006-07-17  Thomas Vander Stichele  <thomas at apestaart dot org>

* gst/gdp/gstgdpdepay.c: (gst_gdp_depay_class_init):
* gst/gdp/gstgdppay.c: (gst_gdp_pay_class_init),
remove parent_class setting, BOILERPLATE does this
(gst_gdp_pay_reset_streamheader):
fix typo in comment
2012-09-11 01:54:29 +01:00
Thomas Vander Stichele
366b9b2284 build as a plugin, not a lib
Original commit message from CVS:
build as a plugin, not a lib
2012-09-11 01:54:29 +01:00
Thomas Vander Stichele
01d7de7e2d docs/plugins/: add more plugins and elements to docs
Original commit message from CVS:
* docs/plugins/Makefile.am:
* docs/plugins/gst-plugins-bad-plugins-docs.sgml:
* docs/plugins/gst-plugins-bad-plugins-sections.txt:
add more plugins and elements to docs
* gst/gdp/gstgdpdepay.c: (gst_gdp_depay_chain):
fix segfaults due to wrong g_free
add example
* gst/gdp/gstgdppay.c:
add example
2012-09-11 01:54:29 +01:00
Tim-Philipp Müller
17582f36fc Use GST_DEBUG_CATEGORY_STATIC where possible (#342503) and fix one GObject boilerplate macro.
Original commit message from CVS:
* 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.
2012-09-11 01:54:29 +01:00
Thomas Vander Stichele
1094a0a54d adapt to new api
Original commit message from CVS:
adapt to new api
2012-09-11 01:54:29 +01:00
Thomas Vander Stichele
10c57d9254 configure.ac: enable building of GDP elements
Original commit message from CVS:
* configure.ac:
enable building of GDP elements
* gst/gdp/gstgdpdepay.c: (gst_gdp_depay_chain):
* gst/gdp/gstgdppay.c: (gst_gdp_pay_class_init),
(gst_gdp_pay_init), (gst_gdp_buffer_from_caps),
(gst_gdp_pay_buffer_from_buffer), (gst_gdp_buffer_from_event),
(gst_gdp_pay_reset_streamheader), (gst_gdp_pay_sink_event),
(gst_gdp_pay_set_property), (gst_gdp_pay_get_property),
(gst_gdp_pay_change_state):
* gst/gdp/gstgdppay.h:
add version 1.0
2012-09-11 01:54:28 +01:00
Thomas Vander Stichele
a5ef603d20 small fixes
Original commit message from CVS:
small fixes
2012-09-11 01:54:28 +01:00
Thomas Vander Stichele
ad556efb2a gst/gdp/gstgdppay.c: add crc-header and crc-payload properties don't error out on some things that are recoverable
Original commit message from CVS:
* gst/gdp/gstgdppay.c: (gst_gdp_pay_class_init),
(gst_gdp_pay_init), (gst_gdp_buffer_from_caps),
(gst_gdp_pay_buffer_from_buffer), (gst_gdp_buffer_from_event),
(gst_gdp_pay_reset_streamheader), (gst_gdp_pay_chain),
(gst_gdp_pay_sink_event), (gst_gdp_pay_set_property),
(gst_gdp_pay_get_property):
add crc-header and crc-payload properties
don't error out on some things that are recoverable
* tests/check/elements/gdppay.c: (GST_START_TEST), (gdppay_suite):
add test for crc
2012-09-11 01:54:28 +01:00
Stefan Kost
1f3890d483 Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
Original commit message from CVS:
* ext/alsaspdif/alsaspdifsink.h:
* ext/amrwb/gstamrwbdec.h:
* ext/amrwb/gstamrwbenc.h:
* ext/amrwb/gstamrwbparse.h:
* ext/arts/gst_arts.h:
* ext/artsd/gstartsdsink.h:
* ext/audiofile/gstafparse.h:
* ext/audiofile/gstafsink.h:
* ext/audiofile/gstafsrc.h:
* ext/audioresample/gstaudioresample.h:
* ext/bz2/gstbz2dec.h:
* ext/bz2/gstbz2enc.h:
* ext/dirac/gstdiracdec.h:
* ext/directfb/dfbvideosink.h:
* ext/divx/gstdivxdec.h:
* ext/divx/gstdivxenc.h:
* ext/dts/gstdtsdec.h:
* ext/faac/gstfaac.h:
* ext/gsm/gstgsmdec.h:
* ext/gsm/gstgsmenc.h:
* ext/ivorbis/vorbisenc.h:
* ext/libfame/gstlibfame.h:
* ext/nas/nassink.h:
* ext/neon/gstneonhttpsrc.h:
* ext/polyp/polypsink.h:
* ext/sdl/sdlaudiosink.h:
* ext/sdl/sdlvideosink.h:
* ext/shout/gstshout.h:
* ext/snapshot/gstsnapshot.h:
* ext/sndfile/gstsf.h:
* ext/swfdec/gstswfdec.h:
* ext/tarkin/gsttarkindec.h:
* ext/tarkin/gsttarkinenc.h:
* ext/theora/theoradec.h:
* ext/wavpack/gstwavpackdec.h:
* ext/wavpack/gstwavpackparse.h:
* ext/xine/gstxine.h:
* ext/xvid/gstxviddec.h:
* ext/xvid/gstxvidenc.h:
* gst/cdxaparse/gstcdxaparse.h:
* gst/cdxaparse/gstcdxastrip.h:
* gst/colorspace/gstcolorspace.h:
* gst/festival/gstfestival.h:
* gst/freeze/gstfreeze.h:
* gst/gdp/gstgdpdepay.h:
* gst/gdp/gstgdppay.h:
* gst/modplug/gstmodplug.h:
* gst/mpeg1sys/gstmpeg1systemencode.h:
* gst/mpeg1videoparse/gstmp1videoparse.h:
* gst/mpeg2sub/gstmpeg2subt.h:
* gst/mpegaudioparse/gstmpegaudioparse.h:
* gst/multifilesink/gstmultifilesink.h:
* gst/overlay/gstoverlay.h:
* gst/playondemand/gstplayondemand.h:
* gst/qtdemux/qtdemux.h:
* gst/rtjpeg/gstrtjpegdec.h:
* gst/rtjpeg/gstrtjpegenc.h:
* gst/smooth/gstsmooth.h:
* gst/smoothwave/gstsmoothwave.h:
* gst/spectrum/gstspectrum.h:
* gst/speed/gstspeed.h:
* gst/stereo/gststereo.h:
* gst/switch/gstswitch.h:
* gst/tta/gstttadec.h:
* gst/tta/gstttaparse.h:
* gst/videodrop/gstvideodrop.h:
* gst/xingheader/gstxingmux.h:
* sys/directdraw/gstdirectdrawsink.h:
* sys/directsound/gstdirectsoundsink.h:
* sys/dxr3/dxr3audiosink.h:
* sys/dxr3/dxr3spusink.h:
* sys/dxr3/dxr3videosink.h:
* sys/qcam/gstqcamsrc.h:
* sys/vcd/vcdsrc.h:
Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
2012-09-11 01:54:28 +01:00
Thomas Vander Stichele
bc93eeb575 gst/gdp/: Handle error cases when calling functions do downwards state change after parent's change_state
Original commit message from CVS:
* gst/gdp/gstgdpdepay.c: (gst_gdp_depay_chain),
(gst_gdp_depay_change_state):
* gst/gdp/gstgdpdepay.h:
* gst/gdp/gstgdppay.c: (gst_gdp_pay_reset_streamheader),
(gst_gdp_pay_chain), (gst_gdp_pay_sink_event),
(gst_gdp_pay_change_state):
* gst/gdp/gstgdppay.h:
Handle error cases when calling functions
do downwards state change after parent's change_state
* tests/check/elements/gdpdepay.c: (GST_START_TEST):
* tests/check/elements/gdppay.c: (GST_START_TEST):
clean up more
2012-09-11 01:54:28 +01:00
Thomas Vander Stichele
98f21eebb2 adding GDP payloader and depayloader. Build integration will follow later when the GDP issues for core are sorted out.
Original commit message from CVS:
* gst/gdp/Makefile.am:
* gst/gdp/gstgdp.c: (plugin_init):
* gst/gdp/gstgdpdepay.c: (gst_gdp_depay_base_init),
(gst_gdp_depay_class_init), (gst_gdp_depay_init),
(gst_gdp_depay_finalize), (gst_gdp_depay_chain),
(gst_gdp_depay_change_state), (gst_gdp_depay_plugin_init):
* gst/gdp/gstgdpdepay.h:
* gst/gdp/gstgdppay.c: (gst_gdp_pay_base_init),
(gst_gdp_pay_class_init), (gst_gdp_pay_init),
(gst_gdp_pay_dispose), (gst_gdp_stamp_buffer),
(gst_gdp_buffer_from_caps), (gst_gdp_pay_buffer_from_buffer),
(gst_gdp_buffer_from_event), (gst_gdp_pay_reset_streamheader),
(gst_gdp_queue_buffer), (gst_gdp_pay_chain),
(gst_gdp_pay_sink_event), (gst_gdp_pay_change_state),
(gst_gdp_pay_plugin_init):
* gst/gdp/gstgdppay.h:
* tests/check/Makefile.am:
* tests/check/elements/gdpdepay.c: (setup_gdpdepay),
(cleanup_gdpdepay), (gdpdepay_push_per_byte), (GST_START_TEST),
(setup_gdpdepay_streamheader), (gdpdepay_suite), (main):
* tests/check/elements/gdppay.c: (setup_gdppay), (cleanup_gdppay),
(GST_START_TEST), (setup_gdppay_streamheader), (gdppay_suite),
(main):
adding GDP payloader and depayloader.  Build integration will
follow later when the GDP issues for core are sorted out.
2012-09-11 01:54:28 +01:00
Olivier Crête
064b143635 rtpmux: Misc fix for 0.11
Convert the incoming caps before proxying them
Clear the last_pad when going to ready

tests: Implement accept_caps, don't leak event
2012-09-10 20:38:14 -04:00
David Schleef
be8aa2973e inter: fix leaks in audiosrc/sink 2012-09-09 02:03:33 +01:00
Edward Hervey
0a4c2524fa mpeg4videoparse: Don't override upstream framerate and PAR
If upstream provided some, there's a good chance they are the ones to use
2012-09-08 17:07:12 +02:00
Tim-Philipp Müller
8968628ca2 hls: disable hlssink but do build hlsdemux 2012-09-08 14:43:37 +01:00
Robert Swain
b33f041753 hls: Add missing GST_PLUGINS_BASE_CFLAGS 2012-09-07 16:25:36 +02:00
Robert Swain
9d003f4d2b hlssink: Add segment target-duration property
This property causes hlssink to push a force key unit event upstream
every target-duration seconds. This is for simple automatic segmenting.
To disable it, set the property to 0 and push the force key unit event
manually.
2012-09-07 16:25:36 +02:00
Alessandro Decina
b1029d767e hls: add hlssink element 2012-09-07 16:25:36 +02:00
Thiago Santos
2139c81cdb camerabin2: use correct variable when handling pad probe buffers
Pad probe data is in the GstPadProbeInfo, not in the user data
parameter.
2012-09-06 01:53:07 -03:00
Tim-Philipp Müller
9e53df7667 diracparse: fix main profile mapping 2012-09-03 13:58:16 +01:00
Tim-Philipp Müller
0ff01faaaa diracparse: change "interlaced" boolean in caps to "interlace-mode"
Not strictly needed, but let's make it consistent with the raw
video way of doing things.
2012-09-03 12:41:33 +01:00
Tim-Philipp Müller
39ca8d05d9 diracparse: use strings for profile and level in caps
For consistency with most other formats.

https://bugzilla.gnome.org/show_bug.cgi?id=658436
2012-09-03 12:40:33 +01:00
Tim-Philipp Müller
c161defb44 id3tag: extract year to write into ID3v1 tag from GST_TAG_DATE_TIME not GST_TAG_DATE 2012-09-02 03:55:35 +01:00
Matej Knopp
d3219a261a mpeg4videoparse: set 0 duration when vop_coded is 0
https://bugzilla.gnome.org/show_bug.cgi?id=683169
2012-09-02 03:43:12 +01:00
Tim-Philipp Müller
a79edf27d0 gst_message_new_duration -> gst_message_new_duration_changed 2012-09-02 01:48:12 +01:00
Jan Schmidt
a303375a3f autoconvert: Handle caps query on internal srcpad
Reply with ANY caps to ensure linking the internal src pad. This
might need more attention later, to reply with the real upstream caps
for the currently active element.
2012-09-01 16:09:59 -07:00
Jan Schmidt
f2d0c6a89e resindvd/mpegdemux: Send both PTS and DTS downstream
Now that we can.
2012-09-01 16:09:59 -07:00
Jan Schmidt
463ac4c12f dvdspu: Make GAP event aware 2012-08-31 13:12:41 -07:00
Jan Schmidt
ea707c1764 autoconvert: Don't drop upstream events due to silly typo 2012-08-31 07:06:50 -07:00
Jan Schmidt
3ace19461f mpegdemux: Merge some DVD pieces and fixes
Bring the resindvd copy of mpegpsdemux and the normal version
slightly closer together.

Don't forward incoming sink caps event to downstream elements.
2012-08-31 07:06:50 -07:00
Jan Schmidt
628a8ed8b1 mpegdemux: avoid extra refs/unrefs of the demuxer
Change all the gst_pad_get_parent() calls to a cast to the
passed parent variable where appropriate, and don't unref,
including the extra unref in the
gst_flups_demux_sink_activate_push() function.
2012-08-31 07:06:50 -07:00
Mark Nauwelaerts
429204a89e dvbsuboverlay: adjust to modified video overlay composition API
... and supply overlay rectangle data in AYUV as provided by input
data rather than converting to RGB.
2012-08-30 12:21:41 +02:00
Thiago Santos
edb5a28973 camerabin: no need to set clock/basetime again
The base and clock aren't lost anymore on state changes
in 1.0
2012-08-29 22:05:56 -03:00
Thiago Santos
cc130a2fea camerabin: no need to send extra reconfigure
Setting capsfilters already sends reconfigure events when a new
caps is set, no need to resend them.
2012-08-29 22:05:04 -03:00
Thiago Santos
9ff5b6bcbe camerabin: request _%u templates instead of _%d
In 1.0, templates have been renamed to _%u as default
2012-08-29 15:45:05 -03:00
Thiago Santos
9fd555c3d0 wrappercamerabinsrc: rework video recording eos push
Push EOS outside of wrappercamerabinsrc so that none of the
internal elements gets its pads into eos state, preventing any
further data from passing
2012-08-29 15:45:05 -03:00
Mark Nauwelaerts
4f2bcc3243 h264parse: ensure sufficiently sized buffer when wrapping NAL
Noted by <zhangyanping210@yahoo.com.cn>

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=682589
2012-08-28 11:07:50 +02:00
Stefan Sauer
c1923a6755 audiovisualizer: revert renaming of the type
The special type name was lost when merging from base.
2012-08-22 15:10:25 +02:00
Tim-Philipp Müller
875b079d4b audiovisualizer: avoid registering enum type of same name as libvisual plugin in -base 2012-08-21 13:29:16 +01:00
Tim-Philipp Müller
205a15e14b id3tag: fix build
Some code slipped into the last commit that was meant to be
pushed separately. Use gst_date_time_unref() instead of _free().
2012-08-21 10:29:55 +01:00
Tim-Philipp Müller
38c749ca2f id3tag: port to 0.11 2012-08-21 10:22:49 +01:00
Tim-Philipp Müller
2483c82bd7 video/x-dvd-subpicture -> subpicture/x-dvd 2012-08-20 23:37:00 +01:00
Tim-Philipp Müller
cc167a237a Fix up FSF address in some source files as well 2012-08-18 20:31:17 +01:00
Stefan Sauer
4132d222cb audiovisualizer: sync to change in base and port
Add support for GstVideoMeta and GstVideoFrame. Remove some redundant fields
that are also in GstVideoInfo. Don't disable the shader code, it does not
look broken.
2012-08-17 22:57:10 +02:00
Stefan Sauer
48cf0f3a77 audiovisualizer: status update 2012-08-17 15:16:00 +02:00
Stefan Sauer
ce221fdbdd visualizer: small cleanup
Apply cleanup from copy in base.
2012-08-15 11:26:59 +02:00
Edward Hervey
105737db54 mpegtspacketizer: Fix flushing/sync handling
There was a stray adapter_flush() now that we used a temporary buffer
2012-08-14 19:07:58 +02:00
Edward Hervey
121aa3ad13 mpegtspacketizer: Better detect PCR resets
Assume that any differences in PCR greater than 15s means there is
a reset in the stream.
2012-08-14 19:07:51 +02:00
Edward Hervey
3153965658 mpegtspacketizer: Remove/demote some debugging 2012-08-14 19:07:39 +02:00
Edward Hervey
9abedc97ff tsdemux: Always use current PTS/DTS
This avoids setting old PTS and/or DTS
2012-08-14 19:07:33 +02:00
Edward Hervey
e25c2e8e74 mpegtspacketizer: Remove unneeded memset(0) 2012-08-14 19:07:28 +02:00
Edward Hervey
8b80114101 mpegts: Use G_GNUC_INTERNAL 2012-08-14 19:07:24 +02:00
Edward Hervey
4d4d2f6eb0 mpegtspacketizer: Use gst_structure_*_take_value where applicable
Saves copying/freeing data
2012-08-14 19:06:16 +02:00
Edward Hervey
5de6fd1ff8 mpegtspacketizer: Cache the GIConv
Avoids having to constantly open/free them (which will end up being
very often with EIT/NIT).
2012-08-14 19:06:11 +02:00
Edward Hervey
e3c0bbe5f6 mpegtbase: reset element in READY=>PAUSED
Ensures all subclass reset vmethods are called
2012-08-14 19:06:04 +02:00
Edward Hervey
b1295aef14 mpegtspacketizer: Use more Quarks 2012-08-14 19:05:58 +02:00
Edward Hervey
d54624aa49 tsdemux: Remove useless code
PCR/OPCR is meant to be handled by the packetizer
2012-08-14 19:05:52 +02:00
Edward Hervey
4f55cc12ae tsdemux: Calculate pcr/time/offset separately per program
Avoids quite a few issues with multi-program streams
2012-08-14 19:05:48 +02:00
Edward Hervey
a8d1e88bda tsparse: Push out buffer on main source pad 2012-08-14 19:05:44 +02:00
Edward Hervey
558beab1b4 mpegtbase: vmethod to notify when we're done processing input
This can be used to notify subclasses no more data is expected this
round.
tsparse will use it to push whole buffers (without copy) on the main
source pad.
It could also be used later to decide whether to push pending data
in order to reduce latency.
2012-08-14 19:05:37 +02:00
Wim Taymans
a9f46ed059 mpegvideoparse: only apply repeat count when set
When there is no extension header, the repeat_count variable is left to 0 and
then the duration on the output buffers is calculated wrongly. Because the
duration is used to interpolate output timestamps, the output timestamps are
also wrong, causing bad framerates.

See https://bugzilla.gnome.org/show_bug.cgi?id=681535
2012-08-13 10:58:50 +02:00
Sebastian Dröge
abfa30a42b gst: Set alignment at the correct place of GstAllocationParams 2012-08-08 17:41:42 +02:00
Sebastian Dröge
bdc46898de gst: Add stream-id to stream-start events 2012-08-06 14:05:08 +02:00
Tim-Philipp Müller
489b102a43 gst_tag_list_free -> gst_tag_list_unref 2012-08-04 16:31:30 +01:00
Tim-Philipp Müller
c031f5bd27 schroedinger, mpegtsmux: fix plugin names 2012-08-03 11:52:11 +01:00
Robert Swain
955e50449e wrappercamerabinsrc: Save image/video reconfiguration until capturing
Add a src pad event handler function that filters reconfigure events to
trigger the renegotiation code paths in the mode-specific start-capture
phase.

This is to work towards fixing unit tests but more work is needed.
2012-08-02 22:46:21 +02:00
Thiago Santos
0a831613a8 camerabin: update preview buffer pushing
need to pass a GstSample to the utilitary preview buffer post functions
as a GstBuffer doesn't have caps anymore. The GstSample has the GstCaps
and it is used to inform the preview's pipeline about the format of the
input, before it gets converted to the user's requested output format.
2012-07-29 00:53:29 -03:00
Tim-Philipp Müller
8b36de8b41 Revert "camerabin: update to new tag event creation API"
This reverts commit 5d890b3c92.

The new API is the old API.
2012-07-29 00:04:35 +01:00
Thiago Santos
3ce5a977ad camerabin: Fix references to avoid element leaking
Some pad probes are never going to be removed from the pads, so
we shouldn't keep a camerabin reference with them or camerabin will
never get released
2012-07-28 18:27:19 -03:00
Thiago Santos
5d890b3c92 camerabin: update to new tag event creation API 2012-07-28 15:17:17 -03:00
Sebastian Dröge
afd50a79f4 tag: Update for taglist/tag event API changes 2012-07-28 00:32:58 +02:00
Wim Taymans
658e54ff8c audiovisualizer: fixate caps 2012-07-24 12:28:18 +02:00
Wim Taymans
57fa9e8bb2 guadi: prefix orc functions with gaudi_orc_ 2012-07-24 10:46:39 +02:00
Wim Taymans
f4220d35a5 fieldanalysis: prefix orc functions 2012-07-24 10:44:51 +02:00
Wim Taymans
c31950d3e8 bayer: prefix orc functions with bayer_orc
Add bayer orc to the unit test
2012-07-24 10:32:51 +02:00
Robert Swain
305db3ef56 interlace: Use buffer flags and caps correctly
This requires a recent commit to -base that adds an INTERLACED buffer
flag.
2012-07-20 23:29:54 +02:00
Stefan Sauer
62e5afb95e spectrascope: fabs->sqrt to calculate the magnitude 2012-07-19 16:11:02 +02:00
Tim-Philipp Müller
0cf07e04be mpegpsdemux: also activate in push mode if the scheduling query failed
In case pads are unlinked somewhere.
2012-07-18 09:19:30 +01:00
Tim-Philipp Müller
421b593048 mpegdemux: fix push mode activation
Extra unref on push mode activation caused havoc.
2012-07-18 08:43:01 +01:00
Mark Nauwelaerts
a39b6cc1b8 dvbsuboverlay: no need to make buffer writable twice 2012-07-17 18:09:47 +02:00
Mark Nauwelaerts
47be2fc3d8 dvbsuboverlay: plug some ref leaks 2012-07-17 18:09:46 +02:00
Mark Nauwelaerts
081779aaa8 dvbsuboverlay: adjust to modified video overlay composition API 2012-07-17 18:09:46 +02:00
Wim Taymans
87ee22fe0e update for RTP buffer api changes 2012-07-17 16:39:02 +02:00
Stefan Sauer
124c9a7fa4 audiovisualizer: shorten base class name
As suggested on IRC rename to AudioVisualizer. We use custom suffix on the type
to avoid clashing with other copies for the time being.
2012-07-16 22:02:44 +02:00
Tim-Philipp Müller
41a39d93bf celt, opencv, wayland, dvbsub, festival, hls: printf format fixes 2012-07-15 12:27:12 +01:00
Mark Nauwelaerts
8712729a8c dvbsuboverlay: adaptively blend or attach video overlay composition
Conflicts:

	gst/dvbsuboverlay/gstdvbsuboverlay.c
2012-07-13 12:32:51 +02:00
Mark Nauwelaerts
2d0866ec28 dvbsuboverlay: use video overlay composition helper
... rather than custom home-made blending.

Conflicts:

	gst/dvbsuboverlay/gstdvbsuboverlay.c
2012-07-13 12:27:57 +02:00
Mark Nauwelaerts
76aedf5641 tsdemux: more correctly determine expected PES packet payload size
... particularly considering that packet_length == 0 is possible.
2012-07-12 10:17:57 +02:00
Mark Nauwelaerts
006fe188e7 tsdemux: correctly determine expected PES packet payload size
Avoids consistently failing to detect that a packet is complete, which
would then only be pushed upon the start of a next packet, which leads
to quite a delay in case of a sparse (subtitle) stream.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=666674
2012-07-11 20:43:46 +02:00
Mark Nauwelaerts
4374a90553 dvbsuboverlay: ensure minimum page time out of 1 second
... to compensate for some bogus subtitle with a 0 timeout, which would
result in only being shown for a very unreadable amount of time.

See https://bugzilla.gnome.org/show_bug.cgi?id=666674
2012-07-11 20:43:43 +02:00
Tim-Philipp Müller
584485b9f4 dvbsuboverlay: fix compiler warnings
gstdvbsuboverlay.c:772:15: error: pointer targets in passing argument 5 of 'gst_segment_clip' differ in signedness
/home/tpm/gst/0.11/gstreamer/gst/gstsegment.h:192:14: note: expected 'guint64 *' but argument is of type 'gint64 *'
gstdvbsuboverlay.c:772:15: error: pointer targets in passing argument 6 of 'gst_segment_clip' differ in signedness
2012-07-11 13:59:18 +01:00
Mark Nauwelaerts
39d2a9fb44 dvbsuboverlay: fixup end-of-display-set forcing
Conflicts:

	gst/dvbsuboverlay/gstdvbsuboverlay.c
2012-07-11 13:49:14 +02:00
Mark Nauwelaerts
5be47b949d dvbsuboverlay: ensure valid subtitle running time by proper clipping
In particular, pass buffer timestamp (pts) to dvb_sub, and then clip
and convert to running time when the duration (timeout) is known after
decoding it.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=660233

Conflicts:

	gst/dvbsuboverlay/gstdvbsuboverlay.c
2012-07-11 13:48:32 +02:00
Mark Nauwelaerts
76b147e803 dvbsuboverlay: properly force end-of-display-set
... which is upon receiving new data with different PTS spec-wise,
or optionally upon each packet of subtitle data if desired by property.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=669310

Conflicts:

	gst/dvbsuboverlay/gstdvbsuboverlay.c
2012-07-11 13:45:14 +02:00
Mart Raudsepp
76ddd498e2 dvbsuboverlay: Handle non_modifying_colour_flag correctly in the RLE handlers
The check for when to not memset was checking on an undeterministic 'bits' variable value,
which is only meant to be used inside the loop earlier when it is supposed to check if
clut_index is 1 together with non_mod set, as per spec:

"non_modifying_colour_flag:  If set to '1' this indicates that the CLUT entry value '1'
is a non modifying colour. When the non modifying colour is assigned to an object pixel,
then the pixel of the underlying region background or object shall not be modified. This
can be used to create "transparent holes" in objects."

https://bugzilla.gnome.org/show_bug.cgi?id=666352
2012-07-11 13:42:02 +02:00
Lasse Laukkanen
8fd2fc662a photography: Add GstPhotography prefix and fix spelling colour->color
https://bugzilla.gnome.org/show_bug.cgi?id=622482
2012-07-11 00:10:55 +01:00
Wim Taymans
29092cc3b8 festival: unmap input buffer 2012-07-10 12:19:17 +02:00
Sreerenj Balachandran
68fadbb92a port festival to 0.11
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=679373
2012-07-10 12:19:17 +02:00
Tim-Philipp Müller
ae063e2942 dataurisrc: copy into provided buffer if a buffer is provided 2012-07-10 00:59:40 +01:00
Mark Nauwelaerts
63cdec88ae asfmux: update for riff field rename 2012-07-09 12:54:41 +02:00
Stefan Sauer
266d1f62c0 audiovisualizers: update baseclass from libvisual porting 2012-07-08 19:27:23 +02:00
Tim-Philipp Müller
ea65e5d501 dtmfsrc: pass unhandled non-custom events to the base class
https://bugzilla.gnome.org/show_bug.cgi?id=666626
2012-07-08 00:08:55 +01:00
Tim-Philipp Müller
219e9ab133 asfmux: remove deprecated "is-live" property
Use the "streamable" property instead.
2012-07-06 14:53:57 +01:00
Sebastian Dröge
9c7d7498bb gst: Implement segment-done event 2012-07-05 13:18:47 +02:00
David Schleef
963e6e3397 inter: Increase the inter audio surface buffering 2012-07-03 09:09:14 +02:00
David Schleef
e5c55ad554 interaudiosink: reenable channel property 2012-07-03 09:09:08 +02:00
David Schleef
b96fde73ab interaudiosrc: Set format to time 2012-07-03 09:09:03 +02:00
Edward Hervey
d3271381ee mpegtsbase: Move known PSI PIDs to where they belong
This avoids tsdemux parsing data is doesn't really care about

Conflicts:

	gst/mpegtsdemux/mpegtsparse.c
2012-06-29 10:02:30 +02:00
Edward Hervey
ada9990092 mpegtbase: Add more known default SI PIDs 2012-06-29 09:59:13 +02:00
Edward Hervey
b5967d2323 tsdemux: Fix AAC LATM caps 2012-06-29 09:23:32 +02:00
Mark Nauwelaerts
c4b480b993 mpegtsmux: apply some more CLOCK_BASE to ensure slack for PCR offset
Conflicts:

	gst/mpegtsmux/tsmux/tsmux.c
2012-06-27 14:52:10 +02:00
Wim Taymans
ba87a4524f fix x-wmv format string 2012-06-27 11:23:19 +02:00
Wim Taymans
c0cd1c43ab interlace: port to 0.11 2012-06-26 16:39:56 +02:00
Stefan Sauer
046d3ab98f spectrascope: avoid dark pixels in fade-and-move-up mode 2012-06-24 21:11:39 +02:00
Stefan Sauer
65fa897f93 audiovisualizers: fix input buffer handling
Use _replace instead of _append to fix growing buffers.
2012-06-24 20:55:37 +02:00
Tim-Philipp Müller
2f15ebca96 hls, sdp: update for gst_element_make_from_uri() changes 2012-06-23 15:02:13 +01:00
Tony Houghton
a996d2f01a Correct satellite delivery descriptor parsing.
Original code to parse satellite delivery descriptors to generate
"satellite" structures appeared to be copy & pasted from cable's code
without amending for satellite.

Also added 8PSK to dvbsrc's enum for modulation.

https://bugzilla.gnome.org/show_bug.cgi?id=654485

Conflicts:

	gst/mpegdemux/gstmpegdesc.h
	gst/mpegdemux/mpegtspacketizer.c
2012-06-21 11:37:21 +01:00
Edward Hervey
b8f32811ca tsparse: Rework handling and cleanups
tspad always has a static source pad which output everything received
(not functional yet).

Program pads are now request pads.

Remove all cruft that should have been removed from the switch over
to mpegtsbase.

Conflicts:

	gst/mpegtsdemux/mpegtsparse.c
2012-06-21 11:34:28 +01:00
Edward Hervey
a8dd05742a mpegtbase: Always send EOS
subclass will take care of handling it more if needed
2012-06-21 11:25:17 +01:00
Wim Taymans
b3308676fd update for bus api changes 2012-06-20 12:34:21 +02:00
Mark Nauwelaerts
ed34ed5b3d mpegtsmux: fix value handling in pad iteration 2012-06-20 12:22:09 +02:00
Wim Taymans
dbed726057 update for task api change 2012-06-20 10:40:42 +02:00
Matej Knopp
9ad3761148 mpegtsmux: fix memory leak
https://bugzilla.gnome.org/show_bug.cgi?id=678130
2012-06-20 10:21:42 +02:00
Edward Hervey
a931620208 mpegtspacketizer: Don't use GByteArray
Using a simple array comes to the same result for a fraction of the cost
2012-06-19 10:49:45 +01:00
Edward Hervey
8fd2d43d60 mpegtbase: Avoid copying GstStructure 2012-06-19 10:49:37 +01:00
Edward Hervey
94c68115ef mpegdesc: Don't allocate/free GstMPEGDescriptor
Just use static variables
2012-06-19 10:49:26 +01:00
Tim-Philipp Müller
a3fc64d153 mpegdemux: rename plugin to mpegpsdemux 2012-06-16 18:35:56 +01:00
Tim-Philipp Müller
61bad24f81 mpegdemux: remove unused TS demuxer bits that have moved to tsdemux 2012-06-16 18:35:56 +01:00
Mark Nauwelaerts
20507bc0cf mpegtsmux: remove obsolete struct field 2012-06-16 19:23:00 +02:00
Mark Nauwelaerts
beceb09acc mpegtsmux: add support for DVB subtitle and teletext streams
See bug #673582.

Conflicts:

	gst/mpegtsmux/Makefile.am
2012-06-16 19:23:00 +02:00
Mark Nauwelaerts
898f6b48be mpegtsmux: optionally use fixed-size PES header 2012-06-16 19:23:00 +02:00
Mark Nauwelaerts
f49e74aa34 mpegtsmux: only write PTS and DTS if different 2012-06-16 19:23:00 +02:00
Mark Nauwelaerts
fd92a8b65a mpegtsmux: optionally set data_alignment flag in PES header 2012-06-16 19:23:00 +02:00
Mark Nauwelaerts
c76627ec9a mpegtsmux: re-enable inadvertent disabled code 2012-06-16 19:22:59 +02:00
Mark Nauwelaerts
e8ab5af7b0 mpegtsmux: use default CollectPads collect heuristic
... with an appropriately custom buffer clip function to arrange for
buffer processing.

Conflicts:

	gst/mpegtsmux/mpegtsmux.c
	gst/mpegtsmux/mpegtsmux.h
2012-06-16 19:22:59 +02:00
Raimo Järvi
3f9a0a1747 mpegtsmux: Fix compiler warnings
https://bugzilla.gnome.org/show_bug.cgi?id=678211
2012-06-16 19:22:59 +02:00
Mark Nauwelaerts
893d6eb2a3 mpegtsmux: fix ported segment init 2012-06-16 19:22:59 +02:00
Matej Knopp
6229305d7b mpegtsmux: port to 0.11
https://bugzilla.gnome.org/show_bug.cgi?id=678130
2012-06-16 19:22:35 +02:00
Raimo Järvi
e0241278f6 rfbsrc: Fix compiling in Windows
https://bugzilla.gnome.org/show_bug.cgi?id=677724
2012-06-14 16:38:22 +01:00
Tim-Philipp Müller
5f57478dc8 chart: remove old plugin that has never been ported to 0.10 2012-06-12 21:29:18 +01:00
Tim-Philipp Müller
739f653fed videodrop: drop videodrop
It was never even ported to 0.10, and videorate does its job now.
2012-06-12 21:21:01 +01:00
Tim-Philipp Müller
588ea345b2 legacyresample: remove legacy plugin 2012-06-12 19:14:06 +01:00
Edward Hervey
5ae01f10fd dvdspu: Fix array type
We wanted an array of guint8 (and not an array of pointers) to store
the data from gst_buffer_extract() and read it.
2012-06-12 11:02:38 +02:00
Mark Nauwelaerts
40760117b1 mpegtsmux: sprinkle some more debug catering 2012-06-11 16:52:55 +02:00
Mark Nauwelaerts
bef06e8c8d mpegtsmux: add SPN/PTS indexing capabilities
Based on patch by Andreas Frisch <fraxinas@opendreambox.org>

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=644890
2012-06-11 16:52:53 +02:00
Mark Nauwelaerts
05dcabfe16 mpegtsmux: avoid memcpy due to temporary packet buffer
... by writing directly into the output buffer instead.
2012-06-11 16:52:49 +02:00
Tim-Philipp Müller
b7e82b27be dvdspu: allow debugging of render and highlight rectangles via environment variable
Enable debugging of rectangles via GST_DVD_SPU_DEBUG.

https://bugzilla.gnome.org/show_bug.cgi?id=667223

Conflicts:

	gst/dvdspu/gstspu-vobsub-render.c
2012-06-11 10:32:43 +02:00
Rob Clark
4e627c3e0d dvdspu: cleanup debug code
Clean up debug code for drawing highlight rects which wasn't even
compiling previously.

TODO: might be nice if this could be controlled by properties or
env variables to make it possible to enable the debug code at
runtime.

https://bugzilla.gnome.org/show_bug.cgi?id=667223

Conflicts:

	gst/dvdspu/gstspu-vobsub-render.c
2012-06-11 10:30:57 +02:00
Mark Nauwelaerts
c2387d8bf6 mpegtsmux: plug leaks when freeing stream 2012-06-08 17:20:30 +02:00
Sebastian Dröge
701da03ff9 elements: Use gst_pad_set_caps() instead of manual event fiddling 2012-06-08 15:58:36 +02:00
Mark Nauwelaerts
351f3915db mpegtsmux: drain cached data upon EOS 2012-06-08 11:30:07 +02:00
Mark Nauwelaerts
0407e21ee3 mpegtsmux: allow for aligned output
... and refactor packet handling some more in the process.

Fixes #651805.
2012-06-08 11:30:05 +02:00
Mark Nauwelaerts
ead42a5e27 mpegtsmux: improve m2ts timestamp interpolation
* a known PCR should really belong to a packet holding that PCR
* interpolation can be extended backward for initial packets (PAT, PMT)
2012-06-08 11:30:03 +02:00
Mark Nauwelaerts
8637fd69e5 mpegtsmux: tweak output buffer timestamping 2012-06-08 11:30:01 +02:00
Sebastian Dröge
ab7c61d165 Release 0.11.92 2012-06-07 16:23:09 +02:00
Wim Taymans
b98ec32380 update for tag event change 2012-06-06 13:02:40 +02:00
Wim Taymans
377556421d bayer: fix output frame map 2012-06-06 11:19:06 +02:00
Mark Nauwelaerts
4cc905409e mpegtsmux: more header clarifications and remove some redundant fields 2012-06-06 10:32:05 +02:00
Mark Nauwelaerts
38bb55c472 mpegtsmux: avoid PID collision for auto-generated PID 2012-06-06 10:31:59 +02:00
Edward Hervey
fa4f487d8f tsmux: inline more code
With the previous commit, makes mpegtsmux 10 to 15% faster
2012-06-06 10:31:54 +02:00
Edward Hervey
e3a02ce49a mpegtsmux: Don't use g_list_first ()
Seriously ...
2012-06-06 10:31:48 +02:00
Mark Nauwelaerts
c195a015e1 mpegtsmux: also properly reset and free pad data 2012-06-06 10:31:43 +02:00
Mark Nauwelaerts
ec109c390f mpegtsmux: refactor init using _reset to cater for proper reuse 2012-06-06 10:31:39 +02:00
Mark Nauwelaerts
8cb22ffeaa mpegtsmux: header cleanups and clarifications 2012-06-06 10:31:34 +02:00
Mark Nauwelaerts
59627a3e5d mpegtsmux: tweak buffer handling
... for clarity and to avoid mixing _peek/_pop
2012-06-06 10:31:29 +02:00
Mark Nauwelaerts
30c782e062 mpegtsmux: misc code cleanups and refactoring 2012-06-06 10:31:24 +02:00
Mark Nauwelaerts
d97d49d237 mpegtsmux: avoid separate allocation for list of programs 2012-06-06 10:31:19 +02:00
Mark Nauwelaerts
281f48f66e mpegtsmux: rearrange define's 2012-06-06 10:31:14 +02:00
Mark Nauwelaerts
4d94e0fcf7 mpegtsmux: removed hacked event handling
Conflicts:

	gst/mpegtsmux/mpegtsmux.c

Reverted back to 0.10 state as it wasn't really ported
yet anyway.
2012-06-06 10:30:55 +02:00
Edward Hervey
e2576f0e86 mpegtsdemux: Also parse TOT (Time Offset Section)
It's the same as TDT, except with descriptors at the end
2012-06-05 10:54:27 +02:00
Edward Hervey
d9121c38ea mpegtsdemux: FIXME/Comment about issues/errors 2012-06-05 10:54:26 +02:00
Edward Hervey
9e117b83fc mpegtspacketizer: Fix leak 2012-06-05 10:54:26 +02:00
Edward Hervey
5f7ecaa0f1 mpegtspacketizer: Reduce usage of GstAdapter
Peek as much as possible in one go. Ideally we should remove usage of
adapter altogether, but for the time being it provides a big enough
speedup (around 2 times faster per packet processed).
2012-06-05 10:54:26 +02:00
Edward Hervey
f0867c7247 mpegtspacketizer: Avoid alloc/free where possible
Helps for streams with a lot of sections, like EIT
2012-06-05 10:54:26 +02:00
Edward Hervey
aab8c46f10 mpegtbase: Add more sections that don't have a CRC 2012-06-05 10:54:26 +02:00
Edward Hervey
25f6c78d79 mpegdefs: Add list of known table_id
Along with the specifications from which they come. Avoids having
to search for which spec a table_id belongs to
2012-06-05 10:54:26 +02:00
Edward Hervey
0e86e68c6a mpegtspacketizer: Clarify debug statements
Use hex values in more cases (since that's how PID/table_id/... are
represented in the various specs).
2012-06-05 10:54:26 +02:00
Edward Hervey
63f8b970af mpegtsbase/packetizer: Add CAT section handling
Allows reporting the global EMM
2012-06-05 10:54:25 +02:00
Edward Hervey
dfe6863387 mpegtbase: Add more debug in PSI handling
Allows us to identify which SI we don't handle
2012-06-05 10:47:49 +02:00
Edward Hervey
d47d1713d9 mpegtbase: Add more default known PSI table_id 2012-06-05 10:47:49 +02:00
Edward Hervey
9924c178c8 mpegtbase: Refactor PSI detection 2012-06-05 10:47:49 +02:00
Sebastian Dröge
7c6093357b videoparsers: Fix GstBaseParse::get_sink_caps() implementations
They should take the filter caps into account and always return
the template caps appended to the actual caps. Otherwise the
parsers stop to accept unparsed streams where upstream does not
know about width, height, etc.

Fixes bug #677401.
2012-06-05 09:30:00 +02:00
Edward Hervey
9f7e70f754 mpegtbase: ECM/CA sections don't have a CRC
So don't check for it :)

Also add a bit more info in the warning message to speed up detecting
whether it's a false-positive or not.
2012-06-01 16:42:41 +02:00
Edward Hervey
8b2f229553 mpegdesc: Add more comments/info
Namely where they belong to
2012-05-26 15:54:51 +02:00
Edward Hervey
8aa64c5d7d tsdemux: Make sure we have a language code before using it 2012-05-26 15:54:48 +02:00
Edward Hervey
7784c0d350 mpegtsbase: Check before getting descriptors from structure
Avoids spurious warnings. Not having those descriptors is nothing
fatal, so check their presence before trying to get them.
2012-05-26 15:54:44 +02:00
Edward Hervey
b6732a27d3 pesparse: Be a bit more permissive with PTS/DTS parsing
According to the specifications a PTS_DTS_flags value of 0x01 is forbidden.
... but there are some rare files out there that do that.

Instead of erroring out, let's warn, carry on parsing accordingly.

If the packet is really corrupted there are enough checks afterward to
detect that.
2012-05-26 15:54:41 +02:00
Edward Hervey
12f24874aa mpegtsbase: Fix bit operation
"a % 8" corresponds to "a & 0x7" (and not 0xf).

spotted by Julian Scheel
2012-05-25 14:16:59 +02:00
Edward Hervey
a633347ed1 mpegtsbase: Speed up _is_psi()
By making it inline and simplifying the bit macros
2012-05-23 09:37:49 +02:00
Mark Nauwelaerts
c5664dcda7 mpegvideoparse: avoid scanning for start codes twice
... since a previous terminating start code serves as subsequent start code.
2012-05-22 21:34:10 +02:00
Julian Scheel
a0a184931a tsdemux: Add language code to taglist.
Read the language codes for tracks from the mpegts descriptors and add it into
the pads taglist.

https://bugzilla.gnome.org/show_bug.cgi?id=673896
2012-05-22 18:13:30 +02:00
Edward Hervey
6bf54ff850 tsdemux: Adapt to new packetizer API
We no longer use GstBufferList and instead copy the incoming data
into newly allocated memory.

This makes tsdemux behaviour 3 to 4 times faster.
2012-05-22 17:43:38 +02:00
Edward Hervey
7fdf1cb0c8 tsparse: Adapt to new packetizer API 2012-05-22 17:43:38 +02:00
Edward Hervey
3c73d29162 mpegtsbase: Adapt to new packetizer behaviour 2012-05-22 17:43:38 +02:00
Edward Hervey
c6035d403c mpegtspacketizer: Avoid usage of GstBuffer internally
The overhead of creating/using 188 byte GstBuffer from GstAdapter
is too expensive.
We now peek the next packet, and provide a data/size which is only
valid until the packetizerpacket is cleared.

In addition, cleanup all the internal code to deal with that new
behaviour and remove double-checks which are no longer needed.

The section_length is now the corrected section_length (i.e. with
the additional 3 bytes).

Avoid using gst_adapter_prev_timestamp and instead track
the timestamp ourself.
2012-05-22 17:43:38 +02:00
Edward Hervey
6d01f5f1b3 mpegtspacketizer: Detect PCR wraparound in skew code
If the received PCR is going backwards (by a safe margin), include
that wraparound for further calculation.

https://bugzilla.gnome.org/show_bug.cgi?id=674536
2012-05-22 16:51:25 +02:00
Mark Nauwelaerts
09209045b6 videoparsers: avoid repeated caps setting 2012-05-22 14:49:18 +02:00
Mark Nauwelaerts
28f3858b94 mpegvideoparse: tweak codec parser API and adjust parser element
... to allow for more efficient parsing and (more) consistent parsing API
among various codec parsers.

Fixes #672701.

Conflicts:

	gst/videoparsers/gstmpegvideoparse.c
2012-05-22 14:09:47 +02:00
Sebastian Dröge
b5f5b8bf04 frei0r: Double properties are supposed in the range [0.0, 1.0]
Fixes bug #676137.
2012-05-22 11:20:06 +02:00
Mark Nauwelaerts
1f0c18daf2 mpegvideoparse: unobfuscate frame parsing
... and add comments and debug statements.

Fixes #674202.

Conflicts:

	gst/videoparsers/gstmpegvideoparse.c
2012-05-21 20:31:27 +02:00
Mark Nauwelaerts
35a58df012 mpegvideoparse: Revert "fix crash"
This reverts commit 91210831ee672343a296f31357144359d5c2e768.

Such explicit reset should not be needed as it is arranged for by
the baseclass in unison with monitoring for a new frame by subclass.

As such it might wrongfully hide something else going on ...

See #674073.
2012-05-21 20:25:01 +02:00
Tim-Philipp Müller
508b9ff51a autoconvert: don't access GstElementFactory structure directly 2012-05-19 15:34:25 +01:00
Julian Scheel
5536bcf8b8 tsdemux: flush on pusi only for payload packets
Data should not be flushed out of the tsdemux because a payload unit start
indicator (pusi) is seen in a adaptation only ts packet. If the package contains no
payload a pusi does not indicate a new PES packet, but PSI information, etc.
This fixes playback of several TS files which contain ts packets without
payload but with pusi set to 1.

https://bugzilla.gnome.org/show_bug.cgi?id=676168
2012-05-18 11:12:20 +02:00
Edward Hervey
e75612c3fd tsdemux: Don't queue data for streams that don't have a pad
This would result in an error further down, and it also avoids processing
for that data which we wouldn't be using anyway.
2012-05-18 11:11:37 +02:00
Edward Hervey
8a4fd8358d tsdemux: Detect and handle scrambled packets
Users (tsdemux/mpegtsparse) can decide what to do with that
2012-05-18 11:11:31 +02:00
Edward Hervey
fa4b92e743 tsdemux: Emit no-more-pads when all pads are activated
Fixes #670921 again
2012-05-18 11:11:25 +02:00
Luis de Bethencourt
94f370c7d7 gaudieffects: add fallback code for orc
this includes an improved version of the burn filter, with a ~40% speed
improvement.
2012-05-17 11:15:22 +01:00
Luis de Bethencourt
e044e0fab4 gaudieffects: use CLAMP in solarize
No need to have a gate_int () function duplicating the already existing and
established CLAMP () function.
2012-05-17 10:54:31 +01:00
Luis de Bethencourt
9cb4f4e622 gaudieffects: use CLAMP in exclusion
No need to have a gate_int () function duplicating the already existing and
established CLAMP () function.
2012-05-17 10:54:31 +01:00
Luis de Bethencourt
4990dc2d1f gaudieffects: use CLAMP in dodge
No need to have a gate_int () function duplicating the already existing and
established CLAMP () function.
2012-05-17 10:54:31 +01:00
Luis de Bethencourt
cb3d1794f8 gaudieffects: use CLAMP in chromium
No need to have a gate_int () function duplicating the already existing and
established CLAMP () function.
2012-05-17 10:54:31 +01:00
Mark Nauwelaerts
7f72b99426 h264parse: also consider nal_length_size when inserting codec data
See #676174.
2012-05-17 11:47:19 +02:00
John Hein
6e78920416 y4m: link against the right libgstvideo
https://bugzilla.gnome.org/show_bug.cgi?id=676189
2012-05-16 21:50:48 +01:00
Luis de Bethencourt
5800315447 gaudieffects: example pipelines with videoconvert 2012-05-16 17:56:58 +01:00
Luis de Bethencourt
ad4ffc446f gaudieffects: orc-ify burn filter 2012-05-16 17:56:58 +01:00
Stefan Sauer
5b39799cf0 hls: use gst api for timestamps instead of the (wrong) api from a too new glib
Conflicts:

	gst/hls/gstfragment.c
2012-05-15 16:08:00 +02:00
Mark Nauwelaerts
74c73eba05 mpegtsmux: optimize output by aggregating packets
... rather than pushing each (small) packet in a separate buffer.
m2ts mode not yet optimized though.
2012-05-14 11:52:29 +02:00
Albert Astrals Cid
dda551e723 mpegts: support items in extended event descriptor
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=672478
2012-05-14 11:51:15 +02:00
Luis de Bethencourt
e9cba00c6a gaudieffects: consistency in templates name 2012-05-10 21:37:59 +01:00
Thibault Saunier
52265cce1e hlsdemux: Add a connection-speed property
Conflicts:

	gst/hls/gsthlsdemux.c
2012-05-10 14:17:57 -04:00
Thibault Saunier
a8afa9755e hls: Add a way to get best playlist for a specific bitrate in M3U8Client
Make use of it in hlsdemux
2012-05-10 14:08:11 -04:00
Youness Alaoui
594d983ff9 hlsdemux: Add failover protection.
Multiple streams with same bandwidth get retried
2012-05-10 14:07:54 -04:00
Youness Alaoui
705a52a1ac hlsdemux: Calculate the real bitrate and switch to the correct variant
We now calculate the actual bitrate using the download speed/size and
then switch directly to the variant that matches our bandwidth the
most.
It will also be able to handle any use case where some of the
variants are not available, and would skip them and go to the next
possible variant.

Conflicts:

	gst/hls/gsthlsdemux.c
2012-05-10 14:06:44 -04:00
Youness Alaoui
bfd7a52c5d hlsdemux: Do not reset the sequence number in a live stream for a normal playlist update.
Only for stream switching
2012-05-10 14:00:49 -04:00
Thibault Saunier
f7553b6b0d hlsdemux: If we update the playlist, make sure the sequence number is never more than 3 fragments before the end 2012-05-10 14:00:19 -04:00
Youness Alaoui
df958b4906 hlsdemux: In a live stream, do not start from 3 fragments before the end. 2012-05-10 13:59:46 -04:00
Youness Alaoui
3cc3e9ad1b hlsdemux: No need to store position since it's the buffer's timestamp
This also will fix the issue of having the current position different
from the actual position of the first buffer in the queue in case
the caching caused a resync of the sequence number.

Conflicts:

	gst/hls/gsthlsdemux.c
2012-05-10 13:38:57 -04:00
Youness Alaoui
87d10cf683 hlsdemux: Fallback to previous playlist when switching if the new playlist can't be fetched 2012-05-10 13:23:58 -04:00
Luis de Bethencourt
f805f9e079 gaudieffects: consistency fixes in gstgaussblur 2012-05-10 13:46:27 +01:00
Luis de Bethencourt
c7949405ca gaudieffects: port gaussianblur to GstVideoFilter 2012-05-10 10:47:27 +01:00
Luis de Bethencourt
bc3afe0ac2 gaudieffects: port solarize to GstVideoFilter 2012-05-09 17:24:03 +01:00
Luis de Bethencourt
ee60c2cf98 gaudieffects: port exclusion to GstVideoFilter 2012-05-09 17:24:03 +01:00
Luis de Bethencourt
2e1aa96113 gaudieffects: port dodge to GstVideoFilter 2012-05-09 17:24:03 +01:00
Luis de Bethencourt
e9ec32fee7 gaudieffects: port dilate to GstVideoFilter 2012-05-09 17:24:03 +01:00
Luis de Bethencourt
2eba32aef3 gaudieffects: port burn to GstVideoFilter 2012-05-09 17:24:03 +01:00
Luis de Bethencourt
ebad8a4dbc gaudieffects: port chromium to GstVideoFilter 2012-05-09 17:24:03 +01:00
Luis de Bethencourt
5a4b8d8937 gaudieffects: use GST_DEBUG_FUNCPTR in blur 2012-05-09 17:23:07 +01:00
Luis de Bethencourt
151b010bc9 gaudieffects: port gaussblur to 0.11 2012-05-09 13:18:53 +01:00
Luis de Bethencourt
f1220e95b5 gaudieffects: port solarize to 0.11 2012-05-09 13:18:53 +01:00
Luis de Bethencourt
9602a3513b gaudieffects: port exclusion to 0.11 2012-05-09 13:18:53 +01:00
Luis de Bethencourt
e78f5817e5 gaudieffects: port dodge to 0.11 2012-05-09 13:18:53 +01:00
Luis de Bethencourt
1471e804d8 gaudieffects: port dilate to 0.11 2012-05-09 13:18:53 +01:00
Luis de Bethencourt
6b5d5c6f24 gaudieffects: add header to gaussblur 2012-05-09 13:18:53 +01:00
Luis de Bethencourt
3db482093d gaudieffects: port chromium to 0.11 2012-05-09 13:18:53 +01:00
Luis de Bethencourt
c123ac0735 gaudieffects: port burn to 0.11 2012-05-09 13:18:53 +01:00
Luis de Bethencourt
b2e3e417a5 controller: port to new controller location and api 2012-05-09 13:18:52 +01:00
Tim-Philipp Müller
9503daa56a rfbsrc: call WSAStartup/Cleanup on win32
If we link against libwinsock2, we should probably call
Startup/Cleanup as well.

https://bugzilla.gnome.org/show_bug.cgi?id=675415
2012-05-07 23:59:58 +01:00
Marc-André Lureau
2f20ec7312 rfbsrc: fix librfb linking on win32
libtool: link:  i686-w64-mingw32-gcc -shared .libs/libgstrfbsrc.dll.def
.libs/libgstrfbsrc_la-gstrfbsrc.o  -Wl,--whole-archive ./.libs/librfb.a
-Wl,--no-whole-archive  -L/usr/i686-w64-mingw32/sys-root/mingw/lib
-lgstbase-0.10 -lgstreamer-0.10 -lxml2 -lgobject-2.0 -lgthread-2.0
-lgmodule-2.0 -lglib-2.0 -lintl  -mms-bitfields -mms-bitfields -O2   -o
.libs/libgstrfbsrc.dll -Wl,--enable-auto-image-base -Xlinker
--out-implib -Xlinker .libs/libgstrfbsrc.dll.a
Creating library file: .libs/libgstrfbsrc.dll.a
./.libs/librfb.a(librfb_la-rfbdecoder.o): In function
`rfb_decoder_read':
/home/elmarco/pkg/rhel/mingw-gstreamer-plugins-bad-free/gst-plugins-bad-0.10.23/build_win32/gst/librfb/../../../gst/librfb/rfbdecoder.c:164:
undefined reference to `_imp__recv@16'
./.libs/librfb.a(librfb_la-rfbdecoder.o): In function
`rfb_decoder_connect_tcp':
/home/elmarco/pkg/rhel/mingw-gstreamer-plugins-bad-free/gst-plugins-bad-0.10.23/build_win32/gst/librfb/../../../gst/librfb/rfbdecoder.c:112:
undefined reference to `_imp__socket@12'
/home/elmarco/pkg/rhel/mingw-gstreamer-plugins-bad-free/gst-plugins-bad-0.10.23/build_win32/gst/librfb/../../../gst/librfb/rfbdecoder.c:119:
undefined reference to `_imp__htons@4'
/home/elmarco/pkg/rhel/mingw-gstreamer-plugins-bad-free/gst-plugins-bad-0.10.23/build_win32/gst/librfb/../../../gst/librfb/rfbdecoder.c:123:
undefined reference to `_imp__inet_addr@4'
/home/elmarco/pkg/rhel/mingw-gstreamer-plugins-bad-free/gst-plugins-bad-0.10.23/build_win32/gst/librfb/../../../gst/librfb/rfbdecoder.c:125:
undefined reference to `_imp__connect@12'

It needs -lws2_32 which is already in $(WINSOCK2_LIBS)

https://bugzilla.gnome.org/show_bug.cgi?id=675415
2012-05-07 23:59:48 +01:00
Raimo Järvi
93ad7a4d06 Fix printf format compiler warnings on mingw-w64
https://bugzilla.gnome.org/show_bug.cgi?id=675520
2012-05-05 19:45:42 +01:00
Tim-Philipp Müller
b87f7345db Add WINSOCK2_LIBS, remove WIN32_LIBS, fix rtmp build on Windows some more
One way of passing -lws2_32 to plugins should be enough..
2012-05-05 18:20:33 +01:00
Thiago Santos
133c9ef6be camerabin: remove unnecessary code 2012-05-04 19:54:51 -03:00
Thiago Santos
acc48b7833 camerabin: improve image capture debug 2012-05-04 19:54:51 -03:00
Thiago Santos
95fd9cd277 camerabin: always force image-profile to have variable framerate
image-encodebin can't use videorate as it always store one buffer
to be able to do its timestamps/duration math. As image captures
only push one buffer at a time, this videorate behavior breaks
camerabin usage.
2012-05-04 19:50:52 -03:00
Youness Alaoui
d3303121c8 basecamerabin: Do not set the pad templates in the base class.
It is best to let the subclass define the pad templates, this would
allow the subclass to decide which caps the pads should have.
2012-05-04 19:50:52 -03:00
Thiago Santos
37bac4c1ed wrappercamerabinsrc: avoid assertion by using null caps as any
NULL caps aren't valid caps, use a reference to 'any' caps
2012-05-02 16:21:01 -03:00
Thiago Santos
cc09cd1303 camerabin: Fix get/set_property for encoding profiles
Encoding profiles are objects, not boxed types
2012-05-02 15:25:32 -03:00
Thiago Santos
b5ba142b06 camerabin: remove custom renegotiate event
In 1.0 there is a core reconfigure event, camerabin doesn't need
its custom renegotiate event anymore
2012-05-01 15:31:11 -03:00
Thiago Santos
b030923eb5 camerabin: Use plain video encoding profile for images
Do not use jpeg as a container format for image captures, use
the plain video encoding format. It was used as a container in
0.10 to force the addition of tags to the image.
2012-05-01 15:20:50 -03:00
Thiago Santos
ad9822dea7 wrappercamerabinsrc: change output-selector negotiation mode
In 0.10 camerabin2 controlled the negotiation strictly and the output-selector
wouldn't forward setcaps calls. In 0.11 the renegotiation events are already in
core and we can allow the pipeline to handle it without much control from camerabin
part (I hope), so this patch makes output-selector forward caps negotiation events
to the active pad.
2012-05-01 15:20:49 -03:00
Thiago Santos
4a4f06abcf wrappercamerabinsrc: removing renegotiate handlers
gstreamer 1.0 already has the reconfigure event, remove the
custom event handling from wrappercamerabinsrc
2012-05-01 15:20:49 -03:00
Thiago Santos
9cd0172581 wrappercamerabinsrc: prevent caps renegotiation loop
Only set the zoom capsfilter caps when the new caps are different,
preventing a caps renegotiation loop.
2012-05-01 15:20:49 -03:00
Thiago Santos
79d3cc533f camerabin: Replacing ffmpegcolorspace with videoconvert 2012-05-01 15:10:51 -03:00
Wim Taymans
7394deef33 tsbase: unref bad packets too
Conflicts:

	gst/mpegtsdemux/mpegtsbase.c
2012-05-01 11:50:39 +02:00
Wim Taymans
b56ab4b3cf tsdemux: reset the state of the stream when flushing
We need to reset the stream on a flush or else old packets could be added to the
list and leak.
2012-05-01 11:47:52 +02:00
Wim Taymans
eaf4d97815 mpegtsbase: don't push events upstream in pull mode
In pull mode, don't push the seek event upstream.
2012-05-01 11:43:07 +02:00
Wim Taymans
6bf0ebdcd8 mpegts: don't poke into private adapter fields 2012-05-01 09:41:18 +02:00
Tim-Philipp Müller
2f50ad435b camerabin2: rename to "camerabin"
But leave source code intact for now, for easier patch merging.
2012-04-30 17:56:17 +01:00
Tim-Philipp Müller
7d65470c4a Remove old camerabin 2012-04-30 17:44:34 +01:00
Gil Pedersen
da001be15a hlsdemux: start paused task on new data 2012-04-25 15:58:13 +02:00
Mark Nauwelaerts
4d1bd12ff8 coloreffects: port to 0.11 2012-04-24 17:01:21 +02:00
Sebastian Dröge
5d2b52697c dvb-sub: Use unchecked byte reader functions 2012-04-24 15:20:16 +02:00
Mark Nauwelaerts
07ddc9d8cd asfmux: use some more boilerplate 2012-04-23 17:11:38 +02:00
Mark Nauwelaerts
e79cae3002 asfmux: port to 0.11 2012-04-23 16:55:18 +02:00
Gil Pedersen
1fa5624762 hlsdemux: port to 0.11 2012-04-20 15:34:59 +02:00
Wim Taymans
8da3c2a969 mpegtsdemux: we ignore warnings differently
We suppress the warnings in the .c file instead.
2012-04-20 11:25:31 +02:00
Gil Pedersen
fcd8155d87 mpegtsdemux: port to 0.11
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=674397
2012-04-20 11:25:31 +02:00
Wim Taymans
5bd76c7c97 mpegtsbase: clarify event ownership 2012-04-20 11:25:31 +02:00
Gil Pedersen
095a17ad03 mpegtsdemux: fix memory leaks
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=674393
2012-04-20 11:25:31 +02:00
Sebastian Dröge
ad871224fc fieldanalysis: Does not need to link to libgstbasevideo at all
Conflicts:

	gst/fieldanalysis/Makefile.am
2012-04-20 11:18:20 +02:00
Sebastian Dröge
7ff3293a44 video: Update for libgstvideo API changes 2012-04-19 12:31:39 +02:00
Youness Alaoui
f1ec8fcb05 jpegparse: Do not set the duration to the input buffer's duration unless valid
This causes a bug where the first buffer has ts = 0, dur=X, the second buffer
has ts=X (because of ts += duration), dur=-1, then the following buffers
will start having a non valid timestamp.
The real duration is only calculated during the caps negociation when there
is a framerate available and the buffer's duration is invalid.
2012-04-18 15:41:57 -04:00
Julian Scheel
1059905237 tsdemux: Set currentlist to NULL after free.
This prevents double free of currentlist is some circumstances.
2012-04-18 09:30:22 +02:00
Youness Alaoui
2503e67ca9 jpegparse: Fix duration in buffers. It's frames per second, not seconds per frame 2012-04-17 21:23:30 -04:00
Mark Nauwelaerts
6578797245 collectpads2: rename to collectpads 2012-04-17 15:22:59 +02:00
Alessandro Decina
4251b25308 mpegtsmux: fix pad iterator leak 2012-04-16 08:53:12 +02:00
Alessandro Decina
34cf1a1bbc mpegtsmux: don't leak force key unit events 2012-04-16 08:53:06 +02:00
Matej Knopp
19f7bd470d mpegvideoparse: Parser fails to split some frames 2012-04-16 08:42:02 +02:00
Matej Knopp
23e312872e mpegvideoparse: Fix FPS and frame duration for telecine files 2012-04-16 08:42:02 +02:00
Matej Knopp
19ee94a8d1 mpegvideoparse: Do not update codec-data when only quantiser matrix changes 2012-04-16 08:42:02 +02:00
Tim-Philipp Müller
0def19d473 geometrictransform: don't link against libgstinterfaces which was removed
The GstNavigation interface is now in libgstvideo.
2012-04-14 15:29:15 +01:00
Matej Knopp
d487c9cd78 fix crash
last_sc is not reset every time a frame is being output, which can cause
last_sc > buf_size in subsequent frame.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=674073
2012-04-14 10:43:21 +02:00
Thiago Santos
c13359f583 geometrictransform: use 1.0 videofilter baseclass functions
Port to the new functions of the videofilter class
2012-04-13 14:13:36 -03:00
Thiago Santos
d5f2feb8ec geometrictransform: port to 1.0
Straightforward port of geometrictransform plugin
2012-04-13 14:13:36 -03:00
Sebastian Dröge
c88cd9cefc Update for the removal of the interfaces library and the tuner/mixer interfaces 2012-04-13 13:15:39 +02:00
Sebastian Dröge
1ab0174c40 Release 0.11.90 2012-04-12 10:50:10 +02:00
Mark Nauwelaerts
07db2da91c Merge remote-tracking branch 'origin/0.10'
Conflicts:
	gst/h264parse/gsth264parse.c
	gst/videoparsers/gsth264parse.c
2012-04-06 14:52:12 +02:00
Mark Nauwelaerts
7cfdc7e912 h264parse: tweak default setting of format and alignment in codec_data case
... which should promote ending up in passthrough mode.
2012-04-06 14:36:44 +02:00
Mark Nauwelaerts
0882adc69f h264parse: do not use _unchecked bytewriter variants to insert config
.. since the bytewriter is explicitly created with non-fixed size to
allow (very much so expected) growth.

Partially reverts commit 20669d461a while
trying to keep (some?) compilers happy.

IIRC, the purpose of GstByteWriter in the first place was (at least)
being able to dump data without having to fuss with memory expansion
and size issues ...

Fixes #673485.
2012-04-06 14:35:56 +02:00
Thibault Saunier
513aa08bee Merge remote-tracking branch 'origin/0.10' 2012-04-05 17:15:11 -04:00
Sebastian Dröge
cda192b3b7 gst: Update for GST_PLUGIN_DEFINE() API changes 2012-04-05 18:02:56 +02:00
Thibault Saunier
70056a37c4 hls: Some more debugging 2012-04-05 11:51:40 -04:00
Thibault Saunier
f9b0d59e84 hlsdemux: Replace the fetcher code with a GstURIDownloader object 2012-04-05 10:33:51 -04:00
Thibault Saunier
2415f9080d hls: Minor cleanup in GstUriDownloader 2012-04-05 10:33:51 -04:00
Andoni Morales Alastruey
71b9f57b63 hlsdemux: Factor out all the fetcher code in a GstURIDownloader class
This class is meant to be reusable by other components
2012-04-05 10:33:51 -04:00
Thibault Saunier
5e85aaf11d hls: Do not add reference to buffers passed in GstFragment
We just steal the reference to the buffer, which means we can keep writing metadatas
on the buffers.
2012-04-05 10:33:51 -04:00
Thibault Saunier
fdaa60c44f hls: Minor GstFragment cleanup 2012-04-05 10:15:13 -04:00
Andoni Morales Alastruey
501d42fa78 hls: Add a GstFragment class that represents a fragment in a m3u playlist 2012-04-05 10:15:12 -04:00
Thibault Saunier
fef060590f hls: Make the updates thread a GstTask 2012-04-05 10:15:12 -04:00
Alessandro Decina
f4b292f994 tsdemux: set correct newsegment fields on _TIME seeks
Forward the seek rate and set NS.start to the seek target so that decoders can
apply clipping where necessary.
2012-04-05 09:16:07 +02:00
Alessandro Decina
cd21a65031 rawparse: fix compile warning 2012-04-05 09:08:02 +02:00
Alessandro Decina
877e6d6a36 tsdemux: set correct newsegment fields on _TIME seeks
Forward the seek rate and set NS.start to the seek target so that decoders can
apply clipping where necessary.
2012-04-05 06:38:08 +02:00
Sebastian Dröge
1318a97e0a gst: Update versioning 2012-04-04 14:44:34 +02:00
Sebastian Dröge
4c0b7fd03b Merge remote-tracking branch 'origin/0.10' 2012-04-04 12:06:08 +02:00
Alessandro Decina
3b525d1147 tsdemux: reset iterator to NULL after it's free
Fixes possible invalid memory access in gst_ts_demux_stream_flush
2012-04-04 07:24:28 +02:00
Sebastian Dröge
bc07e44546 Merge remote-tracking branch 'origin/0.10'
Conflicts:
	gst/mpegtsdemux/tsdemux.c
2012-04-02 15:31:38 +02:00
Edward Hervey
6800d0c4e0 tsdemux: Clear bufferlist/iterator when removing streams 2012-04-02 15:26:28 +02:00
Edward Hervey
dd6550a663 mpegtspacketizer: Don't leak buffer in fast variant 2012-04-02 15:25:46 +02:00
Edward Hervey
cd728627af mpegtsbase: Don't leak corrupt section packet buffer 2012-04-02 15:25:16 +02:00
Wim Taymans
53e264d631 rtpmux: fix compilation 2012-04-02 11:07:18 +02:00
Edward Hervey
b8eeca8804 tsdemux: Fix several leaks
* dont' leak buffers when a stream is in discont state
* don't leak buffers when a program is removed/deactivated
* remove all programs when disposing
2012-04-02 08:03:57 +02:00
Edward Hervey
881350f34c tsdemux: Fix several leaks
* dont' leak buffers when a stream is in discont state
* don't leak buffers when a program is removed/deactivated
* remove all programs when disposing
2012-03-30 19:20:17 +02:00
Wim Taymans
48ba9063b0 update for buffer api change 2012-03-30 18:15:36 +02:00
Sebastian Dröge
c63fa9190b videoparsers: Update for baseparse API changes 2012-03-30 12:02:34 +02:00
Sebastian Dröge
a1c291ebb6 mpegtsdemux: Revert to 0.10 state as this is unmergeable, also put it into the non-ported plugins again 2012-03-29 17:55:09 +02:00
Sebastian Dröge
860ccd414d Merge remote-tracking branch 'origin/0.10'
Conflicts:
	NEWS
	RELEASE
	common
	configure.ac
	docs/libs/gst-plugins-bad-libs-sections.txt
	docs/plugins/gst-plugins-bad-plugins.args
	docs/plugins/gst-plugins-bad-plugins.hierarchy
	docs/plugins/gst-plugins-bad-plugins.interfaces
	docs/plugins/inspect/plugin-adpcmdec.xml
	docs/plugins/inspect/plugin-adpcmenc.xml
	docs/plugins/inspect/plugin-assrender.xml
	docs/plugins/inspect/plugin-audiovisualizers.xml
	docs/plugins/inspect/plugin-autoconvert.xml
	docs/plugins/inspect/plugin-bayer.xml
	docs/plugins/inspect/plugin-bz2.xml
	docs/plugins/inspect/plugin-camerabin2.xml
	docs/plugins/inspect/plugin-celt.xml
	docs/plugins/inspect/plugin-dataurisrc.xml
	docs/plugins/inspect/plugin-debugutilsbad.xml
	docs/plugins/inspect/plugin-dtmf.xml
	docs/plugins/inspect/plugin-dtsdec.xml
	docs/plugins/inspect/plugin-dvbsuboverlay.xml
	docs/plugins/inspect/plugin-dvdspu.xml
	docs/plugins/inspect/plugin-faac.xml
	docs/plugins/inspect/plugin-faad.xml
	docs/plugins/inspect/plugin-gsm.xml
	docs/plugins/inspect/plugin-h264parse.xml
	docs/plugins/inspect/plugin-mms.xml
	docs/plugins/inspect/plugin-modplug.xml
	docs/plugins/inspect/plugin-mpeg2enc.xml
	docs/plugins/inspect/plugin-mpegdemux2.xml
	docs/plugins/inspect/plugin-mpegtsdemux.xml
	docs/plugins/inspect/plugin-mpegvideoparse.xml
	docs/plugins/inspect/plugin-mplex.xml
	docs/plugins/inspect/plugin-pcapparse.xml
	docs/plugins/inspect/plugin-rawparse.xml
	docs/plugins/inspect/plugin-rtpmux.xml
	docs/plugins/inspect/plugin-rtpvp8.xml
	docs/plugins/inspect/plugin-scaletempo.xml
	docs/plugins/inspect/plugin-schro.xml
	docs/plugins/inspect/plugin-sdp.xml
	docs/plugins/inspect/plugin-segmentclip.xml
	docs/plugins/inspect/plugin-shm.xml
	docs/plugins/inspect/plugin-videomaxrate.xml
	docs/plugins/inspect/plugin-videoparsersbad.xml
	docs/plugins/inspect/plugin-vp8.xml
	docs/plugins/inspect/plugin-y4mdec.xml
	ext/celt/gstceltdec.c
	ext/dts/gstdtsdec.c
	ext/modplug/gstmodplug.cc
	ext/opus/gstopusenc.c
	gst-libs/gst/video/gstbasevideocodec.c
	gst-libs/gst/video/gstbasevideocodec.h
	gst-libs/gst/video/gstbasevideodecoder.c
	gst-libs/gst/video/gstbasevideodecoder.h
	gst-libs/gst/video/gstbasevideoencoder.c
	gst-libs/gst/video/gstbasevideoencoder.h
	gst/adpcmdec/Makefile.am
	gst/audiovisualizers/gstbaseaudiovisualizer.c
	gst/h264parse/gsth264parse.c
	gst/mpegdemux/mpegtsparse.c
	gst/mpegtsdemux/mpegtsbase.c
	gst/mpegtsdemux/mpegtspacketizer.c
	gst/mpegtsdemux/mpegtsparse.c
	gst/mpegtsdemux/tsdemux.c
	gst/mpegtsdemux/tsdemux.h
	gst/mxf/mxfdemux.c
	gst/rawparse/gstaudioparse.c
	gst/videoparsers/gsth263parse.c
	gst/videoparsers/gsth264parse.c
	sys/d3dvideosink/d3dvideosink.c
	sys/decklink/gstdecklinksink.cpp
	sys/dvb/gstdvbsrc.c
	sys/shm/gstshmsrc.c
	sys/vdpau/h264/gstvdph264dec.c
	sys/vdpau/mpeg/gstvdpmpegdec.c
	tests/examples/opencv/gst_element_print_properties.c
	win32/common/config.h
2012-03-29 17:41:53 +02:00
Wim Taymans
a9ec4d62a8 update for buffer changes 2012-03-28 12:53:09 +02:00
Wim Taymans
5bf86a8728 Release 0.11.2 2012-03-22 15:52:37 +01:00
Wim Taymans
289e9683e9 rawparse: fix bayer caps 2012-03-21 09:41:08 +01:00
Thiago Santos
7dd5b2002a geometrictransform: Prevent access to the transform map when it is null
Check if the map doesn't exist when receiving a new caps and create
a new one. This prevents that the transform functions try to access
the map when it doesn't exist.
2012-03-20 20:11:30 -03:00
Thiago Santos
74471813eb geometrictransform: add some more log messages 2012-03-20 20:11:30 -03:00
Oleksij Rempel (Alexey Fisher)
79a74089d4 wrappercamerabinsrc: avoid reseting caps to the same value
Reduces capture latency when the new caps are the same as the old
one, avoiding resetting the source state for a forced renegotiation.
2012-03-20 20:11:30 -03:00
Mark Nauwelaerts
cc7918de19 rawparse: port to 0.11 2012-03-20 20:21:37 +01:00
Wim Taymans
c7f9558cc4 orc: don't compile everything at startup 2012-03-20 15:38:33 +01:00
Tim-Philipp Müller
1cec862538 adpcmdec: GST_BASE_LIBS already contains -lgstbase-0.10 2012-03-18 23:15:23 +00:00
David Schleef
e54218a648 adpcmdec: Add -lgstbase-0.10 2012-03-18 14:43:37 -07:00
Mark Nauwelaerts
a3002ad338 scaletempo: port to 0.11 2012-03-18 18:32:55 +01:00
Mark Nauwelaerts
0473a882ec smooth: port to 0.11 2012-03-18 18:32:51 +01:00
Mark Nauwelaerts
b12ac89da0 segmentclip: port to 0.11 2012-03-18 18:32:46 +01:00
Mark Nauwelaerts
3354fda883 removesilence: port to 0.11 2012-03-18 18:32:36 +01:00
David Schleef
67f546968c inter: Add channel property
The channel property allows multiple intersrc/sink pairs to find
each other.  It's a free-form text string that must match among
various inter elements.  Also fixed up documentation and latency
handling.
2012-03-17 12:18:47 -07:00
Wim Taymans
bc38bc27b7 don't pass random pointers to pull_range 2012-03-16 21:47:39 +01:00
Stefan Sauer
f8cf7bf973 faceoverlay: remove blank line in gtk-doc comment 2012-03-16 12:10:10 +01:00
Stefan Sauer
288c6fa26c faceoverlay: code cleanups
Use glib types and simply expressions in the message handler.
2012-03-15 22:58:11 +01:00
Stefan Sauer
a31a698943 faceoverlay: don't access message fields directly 2012-03-15 22:49:51 +01:00
Wim Taymans
ed82d408b1 update for bufferpool changes 2012-03-15 22:11:32 +01:00
Wim Taymans
583f5d1dc7 update for allocation query changes 2012-03-15 20:38:27 +01:00
Tim-Philipp Müller
3f07ebcc37 faceoverlay: clear overlay if the face disappears 2012-03-15 18:26:24 +00:00
Tim-Philipp Müller
36a6a13f1c faceoverlay: add some locking for properties, free previous location when it changes 2012-03-15 18:21:37 +00:00
Tim-Philipp Müller
3bbb0387c4 faceoverlay: don't make rsvgoverlay reload the SVG for every single frame
Only set location on rsvgoverlay if it has changed.
2012-03-15 18:08:09 +00:00
Tim-Philipp Müller
549447d288 faceoverlay: move face handling into own function and handle 0 face count
When a face disappears, we seem to get a message from facedetect with
a face count of 0, which we want to just ignore instead of trying to
access face #-1, which causes nasty warnings.
2012-03-15 17:47:58 +00:00
Tim-Philipp Müller
55b0f1e601 faceoverlay: fix pad templates
Use generic and unspecififed rgb/caps for now. The exact caps
supported depend on the facedetect element and rsvgoverlay. It's
not clear how this worked before, since facedetect only accepts
24-bit RGB, but the caps advertised 32-bit ARGB/BGRA. In any case,
we don't want to force anything really, so that if any of those
elements acquires support for additional formats we pick those up
automatically.
2012-03-15 17:42:56 +00:00
Tim-Philipp Müller
d405ea2e63 faceoverlay: fix weird pad creation code
The element would create normal pads in its instance_init function,
and then later in NULL->READY create the elements it needs, remove
the pads created in the instance_init function, and add new ghost
pads instead. Not without saving the external peer pads of the old
pads of course, which it would promptly re-link to the new ghost
pads. Do all of that a bit differently.

Fixes the generic/states.check unit test.

https://bugzilla.gnome.org/show_bug.cgi?id=670588
2012-03-15 16:52:44 +00:00
Tim-Philipp Müller
fead44ad12 faceoverlay: minor cosmetic changes
Remove template maker comments, use our defines for
package name and origin.
2012-03-15 15:48:53 +00:00
Wim Taymans
6cbb840385 update for memory api changes 2012-03-15 13:37:36 +01:00
Wim Taymans
9f700cc3c4 take padding into account 2012-03-14 19:56:59 +01:00
Tim-Philipp Müller
7f70d42837 inter: fix warnings when gst-inspecting interaudio{src,sink}
The channel property isn't implemented, so don't register it.
2012-03-13 20:59:00 +00:00
Oleksij Rempel (Alexey Fisher)
4e7edb2778 geometrictransform: make sure gt->map not freed twice
current cheese can create situation where gt->map is freed twice.
This patch set map to null to avoid it.

https://bugzilla.gnome.org/show_bug.cgi?id=671910
2012-03-12 23:56:50 +00:00
Gil Pedersen
fd92f8d6a2 hlsdemux: add floating point segment duration support 2012-03-12 15:30:35 +01:00
Wim Taymans
77299ba6ae fix for caps api changes 2012-03-11 19:06:59 +01:00
Thibault Saunier
20669d461a Fix 'ignoring return value of function declared with const attribute'
This always happens with GstByteReader/Writer and friends when
not taking into account returned boolean of the _read/_write functions
(which is actually wrong).

Make use of the *_unchecked variant as much as possible, or take the
returned value into account.
2012-03-10 19:22:07 -03:00
Danilo Cesar Lemes de Paula
35df907f93 Fixing rtpvp8 compatibility with the third draft
https://bugzilla.gnome.org/show_bug.cgi?id=671073
2012-03-08 15:23:25 -05:00
Mark Nauwelaerts
22b9b13166 sirendec: port to audiodecoder 2012-03-06 18:33:25 +01:00
Mark Nauwelaerts
6f8e60e24f sirenenc: port to audioencoder 2012-03-06 18:33:17 +01:00
Mark Nauwelaerts
df86df9ddf dccp: avoid indefinite looping upon error
... and fix 'uninitialized' compilation warning as well.
2012-03-06 18:33:09 +01:00
Sebastian Dröge
e34a70902c removesilence: Fix 'argument to 'sizeof' in 'memset' call is the same expression as the destination' compiler warning 2012-03-06 14:47:17 +01:00
Sebastian Dröge
b292b19c59 mxfdemux: Fix 'comparison of unsigned expression >= 0 is always true' compiler warning 2012-03-06 14:46:03 +01:00
Sebastian Dröge
0bd9ae0dea mpegtsparse: Fix 'variable 'pid' is uninitialized when used here' compiler warning 2012-03-06 14:44:25 +01:00
Sebastian Dröge
5f2081e828 mpegdemux: Fix 'expression result unused' compiler warning 2012-03-06 14:43:29 +01:00
Sebastian Dröge
21ddc28760 dccp: Fix 'comparison of unsigned expression < 0 is always false' compiler warning 2012-03-06 14:41:00 +01:00
Sebastian Dröge
e214b31f5c baseaudiovisualizer: Fix 'comparison of unsigned expression >= 0 is always true' compiler warning 2012-03-06 14:38:47 +01:00
Edward Hervey
416b10b991 mpegtspacketizer: Handle rollover in offset calculations 2012-03-05 12:46:13 +01:00
Wim Taymans
dbf0b994f2 x-raw-bayer -> x-bayer 2012-03-05 12:43:42 +01:00
Wim Taymans
bc9ebb2ff2 use new style caps 2012-03-05 12:03:23 +01:00
Edward Hervey
d798cb7be3 tsdemux: printf fix 2012-03-05 11:27:51 +01:00
Edward Hervey
bb479b04c1 tsdemux: Update TODO 2012-03-05 10:17:56 +01:00
Edward Hervey
85878c142e mpegts: Switch rank of mpegtsdemux and tsdemux
More effort has been put lately in tsdemux and works in more use cases
2012-03-05 09:46:17 +01:00
Edward Hervey
c557f71756 tsdemux: Push packets as early as possible
When the PES header tells us how big the outgoing packet is, push the
packet downstream as soon as we have the specified size instead of waiting
for the beginning of the next packet.
Reduces latency and removes issues with very sparse streams (like subtitles
and subpictures).
2012-03-05 09:41:48 +01:00
Stefan Sauer
f88c45c0cf audiovisualizers: planning + example update 2012-03-04 19:57:14 +01:00
Tim-Philipp Müller
0bb5a01639 tsdemux: fix confusing variable name 2012-03-03 15:47:01 +00:00
Edward Hervey
01f5f62d95 tsdemux: Fix segment start position
If we *really* can't figure out the first start position, that most
likely means the data to push out doesn't have any timestamp.
Use a default value of 0 then
2012-03-02 17:19:45 +01:00
Edward Hervey
a3ae51be29 mpegtsbase: Flush out the packetizer on flushing seeks
... else we end up with bogus data/offsets
2012-03-02 17:19:45 +01:00
Thibault Saunier
ece4dfc3c6 tsdemux: Activate pads only when receiving data for the stream
https://bugzilla.gnome.org/show_bug.cgi?id=670921
2012-03-02 17:19:45 +01:00
Edward Hervey
a274bc5b76 mpegvideoparse: Fix level code
Valid ranges            are from 4 to 10
Valid ranges >> 1       are from 2 to 5
Valid ranges >> 1 - 2   are from 0 to 3

 (and not from 1 to 4)
2012-03-02 11:07:47 +01:00
Edward Hervey
671550714f mpegtsbase: Check harder for program changes
And don't just rely on the section crc/version_number changing to
indicate that the program actually changed.
2012-03-02 10:54:48 +01:00
Edward Hervey
097f09b823 mpegtsbase/tsdemux: Refactor seek and segment handling
All calculations go through the mpegtspacketizer
Remove unused variables/code
2012-03-01 18:15:51 +01:00
Edward Hervey
77ece06a3f mpegtsbase: Error out on EOS without any pad
Avoids ending up with hanging pipelines
2012-03-01 18:15:51 +01:00
Edward Hervey
a4899af8d6 mpegtspacketizer: Offset calculation
Allows PCR<=>PTS<=>offset estimation/calculation
Right now the calculation is very naive, but can be extended later on
without disrupting the code in tsdemux/mpegtsbase
2012-03-01 18:15:51 +01:00
Edward Hervey
39cc29a7d2 mpegtspacketizer: clock fix and minor addition
* Don't take into account packets that arrived at the same time as
  previous ones for clock skew estimation
* Add convenience method for processing the next ts packet
2012-03-01 18:15:51 +01:00
Edward Hervey
c10fc17a1e Revert "mpegtsdemux: Not apply various time the same PMT to a program when repetead"
This reverts commit 8cb0e87f56.

mpegtspacketizer already checks if it's a new PMT or not
2012-03-01 18:15:51 +01:00
Edward Hervey
d920d9d64f tsdemux: Remove all seeking code
It was more than bogus
2012-03-01 18:15:51 +01:00
Xavier Queralt
b5004e058b hlsdemux: don't set the fetcher's location twice
Calling gst_element_make_from_uri already does it and filesrc
fails when using file protocol in a location
2012-02-29 09:52:39 +01:00
Guillaume Desmottes
ddfcfb5a7a Add missing GLIB_DISABLE_DEPRECATION_WARNINGS
Suppress warnings about deprecated threading and GValueArray
API, so git compiles with -Werror.

https://bugzilla.gnome.org/show_bug.cgi?id=670982
2012-02-28 22:55:34 +00:00
Xavier Queralt
5b0d2ce2b2 hlsdemux: don't fail for playlists smaller than fragments-cache
https://bugzilla.gnome.org/show_bug.cgi?id=670963
2012-02-28 12:29:03 +00:00
Thibault Saunier
5c2e6dc512 mpegtspacketizer: catch section lengths extending past the buffer length
This is probably the cause for an occasional crash while streaming
MPEG. Blind fix after staring at the code and following logic, so
may or may not fix the issue, I cannot test.

(Port of 4275a70cb5 from mpegdemux)
2012-02-27 09:57:45 -03:00
Thibault Saunier
58a210e3d3 mpegtspacketizer: support more character set encodings
Support UTF-16BE, EUC-KR (KSX1001), GB2312 and ISO-10646/UTF8 text
encoding and fixed new line for multibyte encoding
    
https://bugzilla.gnome.org/show_bug.cgi?id=664257

(Port of 9759d66407 from the mpegtsdemux
element)
2012-02-27 09:42:27 -03:00
Alessandro Decina
368534f117 adpcmdec: link to libgstbase 2012-02-26 20:43:32 +01:00
Thibault Saunier
336710d355 tsbase: Fix parsing of PSI table IDs
(Ported from mpegtsdemux d8fd874f52)
2012-02-24 19:08:40 -03:00
Thibault Saunier
f977d7e743 tsdemux: Avoid unlinkely leaks and segfault 2012-02-24 15:28:35 -03:00
Edward Hervey
b6d98aea5f tsdemux: Use new clock skew estimation for outgoing timestamps
Only used in live mode
2012-02-24 17:53:52 +01:00
Edward Hervey
e6ff2f7b83 tsdemux: Various code cleanup and dead code removal 2012-02-24 17:52:33 +01:00
Edward Hervey
4bc7cd04c1 mpegtspacketizer: Fix issues with skew code
* Always try to get a timestamp for the algorithm
* Remove dead variable
* Return proper default value
2012-02-24 17:47:38 +01:00
Wim Taymans
8743905721 dataurisrc: fix docs and unit test 2012-02-24 12:53:52 +01:00
Thibault Saunier
6a8d2c45f6 mpegtspacketizer: Estimate clock skew and retimestamps buffers more precisly
Apply the EPTLA algotithm to estimate clock skew.
Reusing code from  -good/gst/rtpmanager/rtpjitterbuffer.c
2012-02-24 10:57:09 +01:00
Thibault Saunier
48a699812b tsdemux: Clean up AAC caps mess 2012-02-24 10:57:05 +01:00
Thibault Saunier
dc8b6c678d tsdemux: Reindent gstmpegdesc.h 2012-02-24 10:57:02 +01:00
Thibault Saunier
67fd590e9a tsdemux: Support more DTS/AC3 descriptors 2012-02-24 10:56:58 +01:00
Edward Hervey
6ef0ae4ffe tsdemux: Remove useless finalize() 2012-02-24 10:56:14 +01:00
Mark Nauwelaerts
4c9ac0886a h264parse: consider nal_length_size when constructing codec_data
Fixes #670699.
2012-02-23 21:18:31 +01:00
Edward Hervey
8b73baeced tsdemux: Use incoming timestamps in live mode 2012-02-23 16:39:48 +01:00
Edward Hervey
8f433e1677 tsdemux: Report latency (700ms) 2012-02-23 16:39:48 +01:00
Edward Hervey
c492b00b69 mpegtsbase: Query whether upstream is live or not 2012-02-23 16:39:48 +01:00
Wim Taymans
470854b6e3 update for new memory api 2012-02-22 02:10:35 +01:00
David Schleef
342a04c9d2 colorspace: Fix v210 writing out of bounds 2012-02-20 20:11:13 -08:00
Matej Knopp
e4e0d3ce02 Fix compiler warnings 2012-02-20 16:20:55 +01:00
Wim Taymans
a9f5def9d1 Merge branch 'master' into 0.11
Conflicts:
	ext/opus/gstopusparse.c
	gst/colorspace/colorspace.c
2012-02-20 16:07:50 +01:00
Matej Knopp
232ef9cc39 dvdspu should forward video caps event 2012-02-20 16:03:24 +01:00
David Schleef
e0db2faa12 colorspace: clamp intermediates when dithering 2012-02-19 00:16:31 -08:00
Thibault Saunier
8cb0e87f56 mpegtsdemux: Not apply various time the same PMT to a program when repetead
Sometimes their are several times the same PMT applying to a same program in a stream,
tsdemux was totally baffled when this was happening, we now keep the one we
already applied so it works properly.
2012-02-17 12:19:20 -03:00
Thibault Saunier
adc947e127 tsdemux: fix glib deprecation 2012-02-17 12:19:20 -03:00
Wim Taymans
e4754d274b RELEASE 0.11.1 2012-02-17 11:05:37 +01:00
Wim Taymans
f08e247051 Merge branch 'master' into 0.11 2012-02-17 09:01:56 +01:00
Thiago Santos
39bad1d6ca wrappercamerabinsrc: Put source to null when resetting caps
It seems that v4l2src isn't happy when switching formats on ready
state, it works when putting it to NULL. Keep this workaround in
wrappercamerabinsrc while v4l2src isn't fixed.

Fixes #849832
2012-02-16 22:51:21 -03:00
Wim Taymans
2fca270f19 Merge branch 'master' into 0.11
Conflicts:
	gst/mpegtsdemux/mpegtsbase.c
	gst/mpegtsdemux/mpegtspacketizer.c
	gst/mpegtsdemux/tsdemux.c
	gst/mve/gstmvedemux.c
2012-02-16 14:33:20 +01:00
Thiago Santos
2ce709cf4a wrappercamerabinsrc: Put source in NULL when it fails changing state
When source is being reset to change caps, check the return of
the state syncing function to avoid leaving the source in an
unconsistent state.
2012-02-16 01:30:23 -03:00
Tim-Philipp Müller
b3592ebda8 mve: don't return a boolean for a GstFlowReturn
fixes playback.
2012-02-16 00:30:05 +00:00
Thibault Saunier
1182dd0c1b tsdemux: Avoid throwing FLOW_ERROR on last PCR processing error
In the case of scanning last pcr, errors are not critical, so we keep
the stream flowing.
2012-02-15 15:48:44 -03:00
Thibault Saunier
cda0d3aed8 tsdemux: Add AAC latm support 2012-02-15 15:48:44 -03:00
Thibault Saunier
6094ec27b1 tsdemux: Minor refactoring/code cleaning
... add some debugging symbols in the mean time.
2012-02-15 15:48:44 -03:00
Mark Nauwelaerts
c7216162e4 h264parse: remove _chain hack
As we can now rely upon being passed upstream delineated data in
::handle_frame(), the latter can also parse avc formatted data
without having to intercept baseparse's chain function.

While this evidently requires 2 separate parsing paths, each can
be streamlined accordingly.
2012-02-15 17:15:10 +01:00
Mark Nauwelaerts
b8a78c6b37 videoparsers: adjust to standardized baseparse frame state tracking 2012-02-15 17:15:07 +01:00
Mark Nauwelaerts
ca5010cc4b Merge branch 'master' into 0.11 2012-02-15 17:14:34 +01:00
Mark Nauwelaerts
5cce89b048 h264parse: use proper NALU offset for config data insertion
... which has to be the position of the start code, which is almost always
but need not be 4 bytes.
2012-02-15 14:29:45 +01:00
Wim Taymans
52fce49459 h263parse: fix compilation 2012-02-15 13:39:29 +01:00
Wim Taymans
16810321ee videoparsers: don't leak event
Unref the event when we don't chain up to the parent
2012-02-15 13:02:06 +01:00
Wim Taymans
f9c99b4713 videoparsers: chain up to parent event handler
Chain up to the parent event handler to get the default behaviour instead of
returning FALSE.
2012-02-15 12:56:55 +01:00
Wim Taymans
eff7037447 Merge branch 'master' into 0.11 2012-02-14 11:19:04 +01:00
Mark Nauwelaerts
b10b9cf109 videoparsers: adjust to modified baseparse API 2012-02-13 18:44:01 +01:00
Mark Nauwelaerts
ea6a192b13 pcapparse: adjust to modified baseparse API 2012-02-13 18:42:53 +01:00
Mark Nauwelaerts
67a8e53aef h264parse: fixup merge 2012-02-13 18:42:53 +01:00
Jan Schmidt
debf4984df mpegtsmux: Trivial bug fix. Don't copy data from an uninited buffer. 2012-02-13 23:05:35 +11:00
Thomas Vander Stichele
bbbdbb536b multifdsink: refactored in -base 2012-02-12 22:59:52 +01:00
Wim Taymans
6c2f5814ef h264parse: report after merge 2012-02-10 16:52:46 +01:00
Wim Taymans
1119f6ee41 Merge branch 'master' into 0.11
Conflicts:
	ext/chromaprint/gstchromaprint.c
	ext/mpeg2enc/Makefile.am
	ext/voaacenc/gstvoaacenc.c
	gst/dvbsuboverlay/gstdvbsuboverlay.c
	gst/mpegtsdemux/mpegtsbase.c
	gst/sdp/gstsdpdemux.c
	gst/videoparsers/gsth264parse.c
	sys/d3dvideosink/d3dvideosink.c
	tests/examples/camerabin/gst-camera-perf.c
	tests/examples/camerabin/gst-camerabin-test.c
	tests/examples/camerabin2/gst-camerabin2-test.c
	tests/examples/mxf/mxfdemux-structure.c
	tests/examples/scaletempo/demo-main.c
2012-02-10 16:46:50 +01:00
Mark Nauwelaerts
1cbd755a2c h264parse: unobfuscate frame parsing code 2012-02-10 14:52:03 +01:00
Wim Taymans
20ffe99cc7 h264parse: fix refcount error 2012-02-09 14:42:23 +01:00
Tim-Philipp Müller
8765068879 Remove legacyh264parse element
One h264 parser ought to be enough for anybody.

https://bugzilla.gnome.org/show_bug.cgi?id=648002
2012-02-08 20:09:39 +00:00
Wim Taymans
de1f89bf07 GST_FLOW_WRONG_STATE -> GST_FLOW_FLUSHING 2012-02-08 16:37:13 +01:00
Wim Taymans
667c84b59c audiovis: port to 0.11 some more 2012-02-07 12:02:49 +01:00
Thiago Santos
3b549c4dbd camerabin: prevent captures from being lost when switching resolutions
When switching capture caps, camerabin1 resets its state to ready
to force a new caps to be negotiated. This causes ongoing captures
to be aborted.

This commit adds a condition to wait for captures to finish before
going to ready state.
2012-02-06 10:48:32 -03:00
Thiago Santos
9bd40e92ce camerabin: Improve debug message about processing counter
Mention on the logs how many capture operations might have been
lost
2012-02-06 10:48:32 -03:00
Vincent Penquerc'h
ddff93320d rotate: angle is in radians already, do not scale it
Other plugins use radians, and the angle documentation says radians.

https://bugzilla.gnome.org/show_bug.cgi?id=669365
2012-02-04 22:07:54 +00:00
Vincent Penquerc'h
e84bbcbeab rotate: fix description string to match what the element does
https://bugzilla.gnome.org/show_bug.cgi?id=669365
2012-02-04 22:07:54 +00:00
Vincent Penquerc'h
2eef9828d6 mpegtsdemux: do not emit no-more-pads
Doing so may fix some things, but breaks others (new streams being
added in the future).

https://bugzilla.gnome.org/show_bug.cgi?id=665814
2012-02-03 17:37:16 +00:00
Mark Nauwelaerts
c36bb8b73d h264parse: decrease passthrough negotiation preference
Also ensure parsing fixed caps when negotiating rather than failing to
handle non-fixed list cases.

See #668471.
2012-02-03 11:27:32 +01:00
Tim-Philipp Müller
f8f4620451 build: fix CFLAGS order and LIBS order
_BAD_CFLAGS should always come first, then GST_PLUGINS_BASE_CFLAGS,
then GST_BASE_CFLAGS then GST_CFLAGS. Same for libs: first plugins
base libs, then GST_BASE_LIB then GST_LIBS.
2012-02-03 00:50:33 +00:00
Mark Nauwelaerts
bc0dd274ee debugutils: port to 0.11 2012-02-02 23:21:50 +01:00
Vincent Penquerc'h
0d1c9624ea mpegpsmux: include specific AAC stream-format in template caps
This elements seems to support raw and adts AAC.

https://bugzilla.gnome.org/show_bug.cgi?id=665394
2012-02-02 12:37:02 +00:00
Vincent Penquerc'h
2dec0950cf tsdemux: add explicit supported AAC stream-format in template caps
https://bugzilla.gnome.org/show_bug.cgi?id=665394
2012-02-02 12:37:02 +00:00
Vincent Penquerc'h
27f21d31ac mpegtsmux: specify in template caps we only take raw/adts AAC format
This appears to be what this element supports.

https://bugzilla.gnome.org/show_bug.cgi?id=665394
2012-02-02 12:37:02 +00:00
Vincent Penquerc'h
5c8ca4e1d0 mpegdemux: include specific AAC stream-format types in template caps
https://bugzilla.gnome.org/show_bug.cgi?id=665394
2012-02-02 12:37:01 +00:00
Tim-Philipp Müller
260e2e7427 build: ignore GValueArray deprecation warnings for the time being
until this gets sorted out with the GLib folks and we have a
viable alternative.

https://bugzilla.gnome.org/show_bug.cgi?id=667228
2012-02-01 17:54:22 +00:00
Tim-Philipp Müller
b66e84040b adpcmdec: fix up for GstAudioDecoder API change 2012-02-01 17:06:11 +00:00
Mark Nauwelaerts
da89903f81 h264parse: disable optimized packetized processing for reverse playback
... as baseparse then provides whole chunks of data (as it should) at once
to be parsed, and so the assumptions used to optimize are no longer valid.

Fixes #667560.
2012-02-01 13:53:17 +01:00
Mark Nauwelaerts
283f97cb79 h264parse: also mind SEI position for config data insertion
Fixes #668627.
2012-02-01 13:53:15 +01:00
Mark Nauwelaerts
136f42974d h264parse: unbreak optimized packetized NALU collection processing
... in that it was so optimized it did not consider grouping NALU into AU
altogether.

Fixes #668627.
2012-02-01 13:53:13 +01:00
Rob Clark
521e8b199b videoparsers: set interlaced field in caps for mpeg2
https://bugzilla.gnome.org/show_bug.cgi?id=667218
2012-01-31 11:51:37 +00:00
Alessandro Decina
f547336fdc mpegtsmux: update after collectpads2 changes 2012-01-31 08:44:04 +01:00
Wim Taymans
3b74cca741 update for HEADER flag 2012-01-30 17:17:16 +01:00
Olivier Crête
70539e9c93 rtpmux: Unref non-forwarded events
Also, don't unref forwarded ones
2012-01-29 18:03:53 +00:00
Olivier Crête
3cccb06dc3 rtpmux: resync iterator on resync 2012-01-28 16:57:03 +00:00
Olivier Crête
b9fd586a61 rtpmux: Re-push sticky events on input pad change 2012-01-27 19:04:24 +01:00
Olivier Crête
83118f5d82 dtmf: Use new-style caps 2012-01-27 19:04:23 +01:00
Sebastian Dröge
2e0bc90903 mpegdemux: Don't leak the SCHEDULING query 2012-01-27 16:56:53 +01:00
Matej Knopp
7bcd991f93 Port mpegdemux to 0.11 2012-01-27 16:56:23 +01:00
Vincent Penquerc'h
8147669971 plenty: fixup glib deprecations 2012-01-27 15:47:07 +00:00
Thiago Santos
f4d6e03b9b camerabin: Add viewfinder colorspace conversion to default flags
This make the default settings more likely to work. If needed, one
can optimize by disabling conversions with the flags.
2012-01-27 07:37:56 -03:00
Thiago Santos
5edd64eec6 camerabin2: Removing solved TODO and fixing a typo 2012-01-27 07:37:55 -03:00
Mark Nauwelaerts
498e4df9d9 adpcmdec: port to 0.11 2012-01-26 23:28:28 +01:00
Mark Nauwelaerts
936bee00f4 adpcmenc: port to 0.11 2012-01-26 23:28:20 +01:00
Olivier Crête
7aead77649 autoconvert: port to 0.11 2012-01-25 18:04:55 +01:00
Olivier Crête
4878946130 bayer: Intersect transformed caps with filter 2012-01-25 18:04:55 +01:00
Olivier Crête
73d57f1848 rtpmux: Don't leak gvalue from iterator 2012-01-25 17:49:26 +01:00
Wim Taymans
bc1067ce4b more porting 2012-01-25 16:46:44 +01:00
Mark Nauwelaerts
9dc7571c75 port some more to new memory API 2012-01-25 16:22:09 +01:00
Wim Taymans
21073e98cf port to new memory API 2012-01-25 14:51:25 +01:00
Sebastian Dröge
a2a4300241 Merge branch 'master' into 0.11
Conflicts:
	configure.ac
	ext/kate/gstkateenc.c
	gst/colorspace/colorspace.c
	gst/mpegvideoparse/mpegvideoparse.c
2012-01-25 13:22:43 +01:00
Alessandro Decina
8fb0beaf00 mpegpsdemux: limit the amount of scanning done on duration queries
Limit the amount of data scanned when looking for PTSes in duration queries as a
failsafe for kinda broken, potentially large files with sparse or no PTSes.
2012-01-25 13:06:46 +01:00
Alessandro Decina
0961e2f494 mpegpsdemux: don't scan for the last PTS if the first wasn't found 2012-01-25 13:06:45 +01:00
Olivier Crête
071c6e8f15 dtmf: port to 0.11 2012-01-25 11:55:13 +01:00
Olivier Crête
e1b7da5410 rtpvp8: port to 0.11 2012-01-25 11:54:54 +01:00
Olivier Crête
0829043b87 videomaxrate: Remove, videorate includes the same functionality now 2012-01-25 11:54:54 +01:00
Olivier Crête
e5ff5ee2db rtpmux: port to 0.11 2012-01-25 11:54:53 +01:00
Vincent Penquerc'h
cf74b0bc76 mpegtsdemux: fix frequent deadlock demuxing MPEG TS
A previous patch to add streams early to fix playback of
low bitrate streams causes frequent deadlock of a nature
I'm at loss how to fix.
I'm not certain whether it's a bug in decodebin2, or in
that mpegtsdemux patch.
Since it causes a major regression, let it be disabled for now.
2012-01-23 17:47:45 +00:00
Mark Nauwelaerts
d8fdd3485b mpegtsdemux: break out when stream identified 2012-01-23 14:22:18 +01:00
Mark Nauwelaerts
b00ed32c5a mpegtsdemux: avoid NULL manipulation if invalid input 2012-01-23 14:22:18 +01:00
Mark Nauwelaerts
f1810502a7 mpegdemux: avoid NULL manipulation if invalid input 2012-01-23 14:22:18 +01:00
Mark Nauwelaerts
552f991ba0 mpegdemux: avoid some unlikely leaks 2012-01-23 14:22:17 +01:00
Mark Nauwelaerts
c63be1402a mpegvideoparse: prevent some fall-through cases 2012-01-23 14:22:17 +01:00
Mark Nauwelaerts
ccee94e30d mve: use signed loop variable
... when using it in i >= 0.
2012-01-23 14:22:12 +01:00
Mark Nauwelaerts
6b71ccb552 mve: ensure best target found 2012-01-23 14:13:47 +01:00
Mark Nauwelaerts
c004a1e462 festival: enhance some error case handling 2012-01-23 14:13:45 +01:00
Mark Nauwelaerts
ae02c7820b nuvdemux: check directly for valid buffer
... rather than doing so indirectly in (incomplete) semantic way.
2012-01-23 14:13:43 +01:00
David Schleef
4b11ced2eb Revert "!colorspace: fix odd size problems"
This reverts commit e2e6fdcb6b.
Untested commit was accidentally pushed.
2012-01-22 16:59:37 -08:00
David Schleef
de562a194f Revert "colorspace: Fix out-of-bound errors for v210"
This reverts commit 3b8b87cb6c.
Untested commit was accidentally pushed.
2012-01-22 16:58:59 -08:00
David Schleef
96f7c5374f inter: Fix compilation
Fix up previously botched rebase.
2012-01-22 16:55:46 -08:00
David Schleef
3b8b87cb6c colorspace: Fix out-of-bound errors for v210 2012-01-22 15:52:15 -08:00
David Schleef
e2e6fdcb6b !colorspace: fix odd size problems 2012-01-22 15:52:15 -08:00
David Schleef
4eb4602746 inter: Add channel property 2012-01-22 15:52:15 -08:00
David Schleef
70684f4d1b colorspace: Add jpeg color-matrix conversion 2012-01-22 15:49:44 -08:00
David Schleef
f02ee5b403 inter: Add subtitle inter elements 2012-01-22 15:49:44 -08:00
Tim-Philipp Müller
840a3a5b36 Remove legacy mpegvideoparse plugin
There's a new one in the videoparsers plugin.
2012-01-22 19:27:59 +00:00
Tim-Philipp Müller
a15029922f multifdsink: make git ignore generated files 2012-01-22 19:13:50 +00:00
Tim-Philipp Müller
5791ed71ad h263parse: make level and profile fields in caps strings
For consistency with other caps.

https://bugzilla.gnome.org/show_bug.cgi?id=658438
2012-01-22 19:12:33 +00:00
Tim-Philipp Müller
27354f065d mpegpsdemux: handle corner-case of short read in pull_buffer better
It's extremely unlikely, but there are corner cases where a short
read might happen, so handle that, just in case.
2012-01-19 15:56:12 +00:00
Wim Taymans
27ee60a27b port to new gthread API 2012-01-19 11:34:26 +01:00
Sebastian Dröge
f6427af9f9 sdpdemux: Port to GIO and the new udpsrc/sink properties 2012-01-18 16:35:04 +01:00
Sebastian Dröge
31dddb7c9f multifdsink: Add $(GST_PLUGINS_BAD_CFLAGS) for the i18n header file 2012-01-18 15:48:00 +01:00
Mark Nauwelaerts
dbc8bbd755 adpcmdec: port to audiodecoder 2012-01-17 21:37:48 +01:00
Mark Nauwelaerts
1a73bf0b79 adpcmenc: port to audioencoder 2012-01-17 21:37:45 +01:00
Mark Nauwelaerts
3f3a21ef49 pcapparse: port to 0.11 2012-01-16 22:52:13 +01:00
Mark Nauwelaerts
0d088c7eb1 irtspparse: port to 0.11 2012-01-16 22:51:59 +01:00
Vincent Penquerc'h
6b4038fed3 debugspy: fix string leak 2012-01-16 17:30:22 +00:00
Vincent Penquerc'h
31cb57fbb7 mpegdemux: fix missing finalize chaining to parent
This code does not seem to trigger on my test streams, so it's
a bit of a blind fix, but seems safe enough to push.
2012-01-16 17:10:30 +00:00
Sebastian Dröge
90c075b1f6 multifdsink: Move multifdsink from gst-plugins-base to gst-plugins-bad 2012-01-16 11:29:27 +01:00
Reynaldo H. Verdejo Pinochet
26a1ca09aa Android, Fix wrong dinamic linking attempt
gstcodecparsers is built as an static library.

This change fixes building with the Android buildsystem.
2012-01-13 15:57:33 -03:00
Vincent Penquerc'h
6cad606ead sirenenc: fix base class call mixup in finalize 2012-01-13 12:08:28 +00:00
Tim-Philipp Müller
699677ed8a Merge remote-tracking branch 'origin/master' into 0.11 2012-01-13 00:11:54 +00:00
Vincent Penquerc'h
76a481c726 patchdetect: remove (leaking) dead code 2012-01-12 17:11:14 +00:00
Vincent Penquerc'h
a940c6a84d inter: remove (leaking) dead code 2012-01-12 16:48:38 +00:00
Vincent Penquerc'h
72eb8209a5 hlsdemux: fix queue leak 2012-01-12 15:58:36 +00:00
Vincent Penquerc'h
083d21ce3d dccpclientsink: fix string leak 2012-01-12 15:43:51 +00:00
Vincent Penquerc'h
2b81720a22 y4mdec: fix event leak 2012-01-12 15:19:01 +00:00
Sebastian Dröge
a01a4ea2d3 Merge branch 'master' into 0.11
Conflicts:
	gst/mpegtsdemux/tsdemux.c
	gst/videoparsers/gsth264parse.c
	tests/check/elements/camerabin2.c
2012-01-10 15:50:37 +01:00
Vincent Penquerc'h
6cf84a0348 interlace: fix caps leaks 2012-01-10 13:25:27 +00:00
Vincent Penquerc'h
5ea1601dd9 interlace: fix ref leak 2012-01-10 13:25:27 +00:00
Edward Hervey
fcf511aa8f tsdemux: Don't provide bogus values in non-TIME push-mode
Only take the upstream segment values in GST_FORMAT_TIME
2012-01-10 11:45:25 +01:00
Edward Hervey
24408bce96 tsdemux: Handle rollover in PTS and DTS
Also hands back-rollover which can happen with PTS
2012-01-10 11:45:22 +01:00
Sebastian Dröge
adb4b010ed mpeg4videoparse: Don't update caps on every buffer 2012-01-09 14:39:43 +01:00
Sebastian Dröge
c76890b7fa mpeg4videoparse: Don't call gst_buffer_memcmp() with a NULL buffer 2012-01-09 14:28:14 +01:00
Vincent Penquerc'h
2dc41db862 h264parse: use the framerate that was copied a few lines above 2012-01-09 11:03:24 +00:00
Vincent Penquerc'h
e81ecb250a mpegvideoparse: add a couple consts on string literal arrays 2012-01-09 10:58:56 +00:00
Sebastian Dröge
2a255cca8b wrappercamerabinsrc: GstBaseCameraSrc is the base class, not GstBin 2012-01-09 08:40:48 +01:00
David Biomech360
36c496b8f1 coloreffects: added support for a visual magnifier color filter to be used in gnome-video-effects
https://bugzilla.gnome.org/show_bug.cgi?id=666542
2012-01-06 11:24:45 +00:00
Vincent Penquerc'h
4f27b2b4fe h264parse: fix test and set not using the same input
This fixes H.264 output not having a set framerate, and
confusing some of the elements downstream (such as interlace).
2012-01-06 10:54:11 +00:00
Vincent Penquerc'h
1c25aab906 interlace: avoid dividing by zero on unkbown framerate
If the framerate is unknown, we cannot generate meaningful
buffer timestamps/durations, so set them to _NONE instead of
calculating something wrong and dividing by 0.
2012-01-06 10:54:11 +00:00
Sebastian Dröge
2a0ca49bd5 audiovisualizers: Update for the new raw audio caps 2012-01-05 10:37:37 +01:00
Mark Nauwelaerts
c4abaf1428 h264parse: fix and tweak frame timestamping
... to run with properly init'ed variables, and to only perform interpolation
in safe cases.
2012-01-04 11:16:18 +01:00
Mark Nauwelaerts
9d0c7d054e h264parse: prefer negotiating pass-through 2012-01-03 22:10:20 +01:00
Mark Nauwelaerts
dcd2ee421a h264parse: mark byte-stream AU frame with inserted codec NALs as keyframe 2012-01-03 22:08:07 +01:00
Mark Nauwelaerts
75b8ddb6cf h264parse: properly determine skip amount when no NAL start found yet 2012-01-03 20:27:07 +01:00
Mark Nauwelaerts
c54144cc16 h264parse: some more proper parse state reset 2012-01-03 20:26:51 +01:00
Wim Taymans
b592f431e3 GST_FLOW_UNEXPECTED -> GST_FLOW_EOS 2012-01-03 15:26:54 +01:00
Edward Hervey
f017f9a913 camerabin2: encoding profiles are objects in 0.11 2012-01-02 15:55:21 +01:00
Edward Hervey
f1aea6f06d mpegtsbase: Swallow incoming caps event
Otherwise we end up asking subclasses to push the event forward,
which will fail since no pads are created yet.
2011-12-30 18:18:10 +01:00
Edward Hervey
a646d8d1e2 tsdemux: Properly carry over the timestamp 2011-12-30 18:17:26 +01:00
Edward Hervey
a3ba21d3b9 tsdemux: Use incoming timestamps in live mode 2011-12-30 18:03:04 +01:00
Edward Hervey
99a7b0a692 tsdemux: Report latency (700ms) 2011-12-30 18:03:03 +01:00
Edward Hervey
e48966ecf1 mpegtsbase: Query whether upstream is live or not 2011-12-30 18:03:02 +01:00
Matej Knopp
4a8b6f0121 tsdemux: Activate pad before settings caps
https://bugzilla.gnome.org/show_bug.cgi?id=665677
2011-12-30 17:52:17 +01:00
Edward Hervey
4917e16458 Merge remote-tracking branch 'origin/master' into 0.11
Conflicts:
	tests/examples/camerabin2/Makefile.am
2011-12-30 11:49:27 +01:00
Edward Hervey
f70a623418 Merge remote-tracking branch 'origin/master' into 0.11-premerge
Conflicts:
	docs/libs/Makefile.am
	ext/kate/gstkatetiger.c
	ext/opus/gstopusdec.c
	ext/xvid/gstxvidenc.c
	gst-libs/gst/basecamerabinsrc/Makefile.am
	gst-libs/gst/basecamerabinsrc/gstbasecamerasrc.c
	gst-libs/gst/basecamerabinsrc/gstbasecamerasrc.h
	gst-libs/gst/video/gstbasevideocodec.c
	gst-libs/gst/video/gstbasevideocodec.h
	gst-libs/gst/video/gstbasevideodecoder.c
	gst-libs/gst/video/gstbasevideoencoder.c
	gst/asfmux/gstasfmux.c
	gst/audiovisualizers/gstwavescope.c
	gst/camerabin2/gstcamerabin2.c
	gst/debugutils/gstcompare.c
	gst/frei0r/gstfrei0rmixer.c
	gst/mpegpsmux/mpegpsmux.c
	gst/mpegtsmux/mpegtsmux.c
	gst/mxf/mxfmux.c
	gst/videomeasure/gstvideomeasure_ssim.c
	gst/videoparsers/gsth264parse.c
	gst/videoparsers/gstmpeg4videoparse.c
2011-12-30 11:41:17 +01:00
Thiago Santos
e4d3d2dcd1 camerabin2: clarify some message logs
Be explicit on which encodebin we're switching profiles on the
log messages
2011-12-30 00:02:19 -03:00
Thiago Santos
9de92cf9dc camerabin2: fix gvalue leak 2011-12-27 16:40:38 -03:00
Thiago Santos
399ec70a08 camerabin2: secure event ref when sending event to parent class
camerabin2 needs to hold an extra ref on send_event before sending
it to the parent class as it will need to use it after the parent
handles it.
2011-12-27 16:40:38 -03:00
Thiago Santos
44eb631841 camerabin2: port to 0.11 2011-12-23 19:01:20 -03:00
Thiago Santos
36fbb8eea4 basecamerabinsrc: remove redundant functions
gst_bin_get_by_interface should be enough for applications.
Haven't seen anyone using those other than wrappercamerabinsrc.
2011-12-22 16:17:56 -03:00
Thiago Santos
d9e13c4268 camerabin2: remove unused helper function
This drop_eos_probe function is not used anymore, remove it
2011-12-22 16:13:59 -03:00
Thiago Santos
0ce5021058 camerabin2: Fix A/V sync for captures
Audio src was pushing newsegments starting from 0, even when its buffers
were not starting with 0 as their timestamps. Add a buffer probe that
checks the ts of the first buffer and uses that to push a newsegment,
just like we do for video on wrappercamerabinsrc.
2011-12-20 15:05:27 -03:00
Thiago Santos
88e3d82201 wrappercamerabinsrc: Push newsegments on video capture start
Pushing newsegments to inform muxers about the start time of the
video buffer timestamps.
2011-12-20 14:46:26 -03:00
Wim Taymans
8506342fb6 y4m: update for new interlace caps 2011-12-19 18:44:33 +01:00
Vincent Penquerc'h
b23e6bfa70 mpegtsdemux: only warn when we see a PID with unknown type
This is quite frequent, and we will just ignore that stream,
so an error is not warranted.
2011-12-19 13:18:51 +00:00
Alessandro Decina
570ba0c84a h264parse: avoid pushing SPS/PPS at start only if both are found in stream
Avoid injecting SPS/PPS nals only if both are already present in the stream.
Fixes some AVC clips that happen to have only PPS nals in stream.
2011-12-19 12:36:39 +01:00
Alessandro Decina
58cc609b08 mpeg4videoparse: handle force key unit events 2011-12-18 18:37:08 +01:00
Alessandro Decina
94ae4ca833 h264parse: do wait for a keyframe when handling force key unit events
Although some decoders can start decoding with just PPS and SPS and waiting for
a keyframe is bad when the keyframe interval is large, gst-ffmpeg does need a
keyframe to start decoding.
2011-12-18 17:40:57 +01:00
Alessandro Decina
38a5719c53 mpegtsmux: unset the current PCR stream when starting a new unit
Unset the current PCR stream when starting a new unit so that afterwards a new
stream is selected as PCR and PAT and PMT tables are regenerated.
2011-12-18 17:32:11 +01:00
Alessandro Decina
ee429ba7b8 mpegtsmux: fix key unit event handling when muxing both audio and video
Take only video buffers into account when deciding when to cut so that new units
start with a video keyframe.
2011-12-18 17:31:18 +01:00
Vincent Penquerc'h
fe1f79b9bb videomeasure: port to GstCollectPads2 2011-12-15 13:47:55 +00:00
Vincent Penquerc'h
f4ccc7dff8 mxfmux: port to GstCollectPads2
Only tested with audio, I can't get it to accept video (before
the port).
2011-12-15 13:39:41 +00:00
Vincent Penquerc'h
1029619766 mpegtsmux: port to GstCollectPads2
I *think* the stream lock use is correct, not 100% sure.
2011-12-15 13:22:24 +00:00
Vincent Penquerc'h
c03c4d7fac mpegpsmux: port to GstCollectPads2 2011-12-15 13:08:42 +00:00
Vincent Penquerc'h
a8a0b11e3f frei0r: port to GstCollectPads2
Untested, no sample pipeline mentioned, and I've no idea what
this plugin does, but since all the previous ports work out of
the box, this is deemed to work until evidence it doesn't.
2011-12-15 13:04:51 +00:00
Vincent Penquerc'h
c826a197ce compare: port to GstCollectPads2 2011-12-15 13:02:16 +00:00
Vincent Penquerc'h
4db6f8f7f2 asfmux: port to GstCollectPads2 2011-12-15 12:59:57 +00:00
Tommi Myöhänen
9648d100b4 camerabin2: fix leak on error handling
Camerabin2 parses warning messages with gst_message_parse_warning(message,
&err, &debug) but doesn't free given GError and debug strings.
Documentation shows that the ownership of those fields is transferred
to caller (they are marked "[transfer full]" in the API docs).
2011-12-14 08:32:50 -03:00
Julien Isorce
f21ea162ad mpegtsparse: check offset when retrieving table_id on malformed packets
Fix bug #665988
2011-12-13 10:44:47 +01:00
Sebastian Dröge
0d40afa9f0 Revert "mpegtsparse: check offset when retrieving table_id on malformed packets"
This reverts commit e62978d045.
2011-12-13 10:44:42 +01:00
Julien Isorce
e62978d045 mpegtsparse: check offset when retrieving table_id on malformed packets 2011-12-12 15:05:16 +01:00
Vincent Penquerc'h
63110cab94 liveadder: fix buffer leak 2011-12-12 14:00:22 +00:00
Tim-Philipp Müller
ad6ea8fbe9 mpegpsmux: put stream headers into output caps
Basic version with only the system header and the program
stream map. An advanced version could include codec-specific
bits like SPS/PPS too. This is useful in connection with
e.g. multifilesink to make sure new files always start with
the stream headers.
2011-12-11 00:13:51 +00:00
Tim-Philipp Müller
eaeba16a56 mpegpsmux: add "aggregate-gops" property to aggregate GOPs into buffer lists
Useful in connection with multifilesink, for example, to make sure
the new file always starts with a keyframe.
2011-12-11 00:10:15 +00:00
Tim-Philipp Müller
c4cb38f394 mpegpsmux: remember primary video stream 2011-12-11 00:10:15 +00:00
Tim-Philipp Müller
1f45eb7950 mpegpsmux: remember whether an incoming buffer is a keyunit or not 2011-12-11 00:10:12 +00:00
Tim-Philipp Müller
7f8adea477 videoparsers: fix LIBS order in Makefile.am 2011-12-08 22:49:50 +00:00
Vincent Penquerc'h
09f0860a10 mpegtsdemux: only offset timestamps when live
This code is to sync to a live source when there is a delay
between start and when we receive the first buffer, so it does
not make sense in a non live case.

This fixes playback of streams where the input timestamps are
based off some arbitrary offset.

https://bugzilla.gnome.org/show_bug.cgi?id=663756
2011-12-08 12:46:20 +00:00
Sebastian Dröge
dcf04269e1 autoconvert: Remove the initial-identity property from autoconvert
Initially creating an identity element to forward serialized
events downstream before any caps are known is broken behaviour.

Serialized events should only be forwarded downstream if the
caps are already known, otherwise autopluggers and other elements
using pad-blocks will fail.

This behaviour also doesn't work anymore after basetransform
was fixed to queue serialized events until the caps are known
as a result of fixing bug #659571.

See bug #599469, #665205.
2011-12-07 13:50:19 +01:00
Thibault Saunier
6b3a314d36 videoparsers: Do not not skip startcode when needed
Fix: https://bugzilla.gnome.org/show_bug.cgi?id=665631
2011-12-06 17:05:52 -03:00
Alessandro Decina
a1305b949c h264parse: handle force key unit events
Send SPS/PPS on force key unit events. Useful for example when serving HLS
without transcoding.
2011-12-06 13:16:29 +01:00
Edward Hervey
1c50dab50c h264parse: Use faster parsing variant when input is packetized
Reduces latency and cpu usage

https://bugzilla.gnome.org/show_bug.cgi?id=665584
2011-12-05 19:04:17 +01:00
Mark Nauwelaerts
9604342af3 h264parse: reflow slice nal processing 2011-12-05 13:11:39 +01:00
Mark Nauwelaerts
ef24518b60 h264parse: optimize slice nal processing
Only minimal slice info is needed here to determine real frame start,
so no need to parse extensively.

Fixes #665418.
2011-12-05 13:11:04 +01:00
Sebastian Dröge
2cdb069b9f autoconvert: Implement iterate_internal_links function on the sinkpad and srcpad 2011-12-05 08:57:29 +01:00
Alessandro Decina
4474db4e71 h264parse: let upstream PAR override in-stream PAR 2011-12-01 09:07:18 +01:00
Alessandro Decina
21b063a78c h264parse: rework PAR parsing
And in the process refactor _update_src_caps a bit
2011-12-01 09:06:56 +01:00
Luciana Fujii Pontello
6d85d4882a h264parse: respect pixel-aspect-ratio
Parse pixel-aspect-ratio in vui information.
2011-12-01 08:23:22 +01:00
Stefan Sauer
467fd98e5b spacespace: whitespace cleanups 2011-11-30 22:12:27 +01:00
Stefan Sauer
4a40bd5936 wavescape: also add colormodes like in spacescope 2011-11-30 22:11:40 +01:00
Stefan Sauer
00ac111477 audiovisualizer: update README 2011-11-30 15:13:04 +01:00
Stefan Sauer
11590ac0b6 spacescope: add color-modes
In colormode we split the signal in low,mid,high frequency parts and draw them
separately into red, gree, blue color channels.
2011-11-30 15:11:50 +01:00
Stefan Sauer
52d185f4ae audiovisualizers: streamline the line_aa code
Have a reusable dot_aa code and reuse in the line drawing.
2011-11-30 15:11:50 +01:00
Tim-Philipp Müller
65e8564343 mpegtsmux: fix build in uninstalled setup
Add -base libs includes to CFLAGS, fix order of LIBS.
2011-11-30 10:35:12 +00:00
Alessandro Decina
777c1f034f mpegtsmux: add support for force key unit events
Handle force key unit events outputting PAT and PMT when all_headers=TRUE
2011-11-30 08:56:48 +01:00
Alexey Fisher
2099a39459 mpegpsdemux: recalculate adjust if difference is negative
One of my dvds jump on some position and miss about 1 minute of stream.
The reason was mpeg timestamps. On some position scr difference is negative.
It produced negative timestamps. Since it was converted to unsigned value,
gstreamer timestamps was invalid. Instead of increasing mpeg ts,
they was decreasing till it started to be positive.

The jump in timestamps caused mpeg2dec to skip frames to make QoS happy.

This patch just make diff unsigned to avoid negative values.

Signed-off-by: Alexey Fisher <bug-track@fisher-privat.net>

https://bugzilla.gnome.org/show_bug.cgi?id=656115
2011-11-29 11:35:11 +00:00
Thibault Saunier
e1bacb4813 codecparser: mpeg4: Look for resync code in _mpeg4_parse
This way the API is simpler and users can call 1 single function for packet
detection.
2011-11-28 21:25:34 -03:00
Thibault Saunier
5555b5fa9d mpeg4videoparse: Properly handle profile and level in caps
Fix #660234
2011-11-28 21:25:34 -03:00
Thibault Saunier
48ad76e538 mpeg4videoparse: Port to the new mpeg4parser library 2011-11-28 21:25:34 -03:00
Thibault Saunier
db4d4979ab mpeg4videoparse: Move to the videoparsers plugin
Rename a few variables to use the same convention as others elements in this
plugin

Conflicts:

	gst/videoparsers/gstmpeg4videoparse.c
2011-11-28 21:25:34 -03:00
Tim-Philipp Müller
f585848d4b Merge remote-tracking branch 'origin/master' into 0.11 2011-11-28 23:20:58 +00:00
Thiago Santos
9364d13c02 camerabin2: viewfinderbin: use faster cast macro
Use cast macro without type checks when we know it should work.
2011-11-28 18:48:52 -03:00
Thiago Santos
b5f97fd033 camerabin2: viewfinderbin: Link elements directly to use faster version
ffmpegcolorspace and videoscale should always link successfully, use
the fast pad linking version instead of calling the generic helper
function.
2011-11-28 18:48:52 -03:00
Thiago Santos
f6d47a4206 camerabin2: micro optimize linking some more 2011-11-28 18:48:51 -03:00
Vincent Penquerc'h
4735a7554b mpeg4videoparse: fix number of bytes read for fixed time increment
The spec I found says "16 bits".
The existing code used log2(somevalue)+1.
ffmpeg uses log2(somevalue-1)+1.
The code now uses log2(somevalue-1)+1, and this makes it work with
some sample video without breaking another sample.
Now, I'm far from certain I've got the right spec, I found it by
searching the internet, so...

https://bugzilla.gnome.org/show_bug.cgi?id=654666
2011-11-28 15:22:56 +00:00
Vincent Penquerc'h
f1a4791f74 mpegdemux: Try to add all streams early
This will allow us to signal no-more-pads to avoid hitting
the decodebin2 overrun.
2011-11-28 15:10:47 +00:00
Vincent Penquerc'h
fb66b3c2ac mpegtsdemux: handle pads with no data
Some streams declare PIDs but will not send data for them.
Ensure we time out on those, and both send new segments to
keep their time synchronized with the rest, and do not wait
forever before deciding to signal no-more-pads.

https://bugzilla.gnome.org/show_bug.cgi?id=659924
2011-11-28 15:08:13 +00:00
Vincent Penquerc'h
f909c57546 mpegtsdemux: signal no-more-pads when appropriate
We track streams for which a data callback is set (and for which
pads will be added only when data is received), and signal
no-more-pads when the last pad is added.

https://bugzilla.gnome.org/show_bug.cgi?id=659924
2011-11-28 15:08:06 +00:00
Vincent Penquerc'h
9715fc3189 mpegdemux: take into account offset of first buffer
This fixes playback when the source starts later than the playback
pipeline, and when a source drops for a while then restarts.

https://bugzilla.gnome.org/show_bug.cgi?id=657794
2011-11-28 14:01:43 +00:00
Vincent Penquerc'h
918d2e710f mpegdemux: fix some more video freezing
There was a second threshold, which apparently needs to be smaller
than the first, though I'm not certain of it as I don't understand
yet this nest of wtf that is the mpeg demuxer timing logic.

Fixes video freezing on one (corrupted) MPEG sample. It would
previously never think it was out of the discontinuity, and would
push buffers with no timestamp.

Now this took me more than a day's poking at the thing, for just
one constant change, and I'm scared to have to touch this again :S

https://bugzilla.gnome.org/show_bug.cgi?id=655804
2011-11-28 13:57:42 +00:00
Vincent Penquerc'h
7960280afb mpegdemux: catch smaller PTS dicontinuities
In a test stream, I get one buffer with a PTS of about 15 seconds
in the future compared to the previous one, and next buffers with
timestamps continuing where the original ones left off.

This caused the sink to wait 15 seconds to display the frame while
more frames queued up, and then dump all the subsequent frames as
they "arrived too late".

Maybe that threshold should be made configurable, but for now,
make it more smaller to catch more of these.

https://bugzilla.gnome.org/show_bug.cgi?id=655804

Non AV streams keep using the larger threshold (10 minutes), as
subtitles may arrive only every so often.
2011-11-28 13:57:29 +00:00
Vincent Penquerc'h
7521b597f4 various: fix pad template ref leaks
https://bugzilla.gnome.org/show_bug.cgi?id=662664
2011-11-28 13:08:27 +00:00
Matej Knopp
f949930621 videoparsers: fix format warnings
https://bugzilla.gnome.org/show_bug.cgi?id=662618
2011-11-28 00:04:16 +00:00
Tim-Philipp Müller
025ce3e6ca Merge remote-tracking branch 'origin/master' into 0.11 2011-11-27 23:33:45 +00:00
Tim-Philipp Müller
98b9d602c1 aiffparse: extract ID3 tags embedded in ID3 chunks
https://bugzilla.gnome.org/show_bug.cgi?id=664725
2011-11-27 23:19:49 +00:00
Edward Hervey
b78b980d72 Merge remote-tracking branch 'origin/master' into 0.11
Conflicts:
	ext/faac/gstfaac.c
	ext/opus/gstopusdec.c
	ext/opus/gstopusenc.c
	gst/audiovisualizers/gstspacescope.c
	gst/colorspace/colorspace.c
2011-11-25 12:48:58 +01:00
Stefan Sauer
c61f85da82 audiovisualizers: add aa-line code and user for wave/space-scope 2011-11-24 19:04:17 +01:00
René Stadler
e6df0b672f videoparsers: port to 0.11
Unit tests missing for now.
2011-11-24 12:08:55 +01:00
Vincent Penquerc'h
1d0f770545 colorspace: fix width/height mismatches
https://bugzilla.gnome.org/show_bug.cgi?id=663238
2011-11-24 10:49:16 +01:00
Sebastian Dröge
ca6ae54d5f mpeg4videoparse: Use the sinkpad template caps as a fallback, not the srcpad ones 2011-11-24 10:26:25 +01:00
Sebastian Dröge
dc2c61faf5 mpegvideoparse: Implement ::get_sink_caps vfunc to propagate downstream caps constraints upstream 2011-11-24 10:14:06 +01:00
Sebastian Dröge
61fad46dca h263parse: Implement ::get_sink_caps vfunc to propagate downstream caps constraints upstream 2011-11-24 10:09:59 +01:00
Sebastian Dröge
b10c1f277f diracparse: Implement ::get_sink_caps vfunc to propagate downstream caps constraints upstream 2011-11-24 10:08:27 +01:00
Sebastian Dröge
e7cd086970 mpeg4videoparse: Implement ::get_sink_caps vfunc to propagate downstream caps constraints upstream 2011-11-24 10:05:30 +01:00
Tim-Philipp Müller
bd92bc966f sdpdemux: update for gstrtpbin -> rtpbin renaming 2011-11-24 00:56:45 +00:00
Matej Knopp
9d0bdcf6d7 Fix printf format compiler warnings on OS X / 64 bit
https://bugzilla.gnome.org/show_bug.cgi?id=662618
2011-11-23 23:43:15 +00:00
Tim-Philipp Müller
da43e59aab smooth: fix printf format compiler warning in debug message
https://bugzilla.gnome.org/show_bug.cgi?id=664631
2011-11-23 16:03:15 +00:00
René Stadler
461f1971dd frei0r: normalize boolean property default values to TRUE/FALSE
Glib barks at us with a warning when we pass e.g. 4.
2011-11-23 12:43:48 +01:00
Stefan Sauer
03f1f0214e audiovisualizers: update README and TODO comments 2011-11-23 11:31:44 +01:00
Stefan Sauer
3ba8b3c0ad spacescope: use the drawhelpers and add a draw-style property
Like in wavescope support drawing dots and lines.
2011-11-23 11:21:15 +01:00
Wim Taymans
0a9387c43c Merge branch 'master' into 0.11
Conflicts:
	ext/opus/gstopusdec.c
	ext/opus/gstopusenc.c
	ext/opus/gstopusparse.c
	gst/audiovisualizers/gstwavescope.c
	gst/filter/Makefile.am
	gst/filter/gstfilter.c
	gst/filter/gstiir.c
	gst/playondemand/gstplayondemand.c
2011-11-23 11:08:39 +01:00
Stefan Sauer
e3d1a50c0d audiovisualizers: add some simple drawing helpers for reuse
Add a (uninstalled) header with simple drawing macros
2011-11-23 08:42:01 +01:00
Stefan Sauer
b9c9540735 smoothwave: remove element unported from 0.8
The wavescope element does achieve the same effect.
2011-11-23 08:42:01 +01:00
Stefan Sauer
85aba22118 wavescope: add a style property for drawing modes
Add a style enum of { dots, lines}. Now this elements is a superset of smoothwave.
2011-11-23 08:42:01 +01:00
Sebastian Pölsterl
9759d66407 mpegtsparse: support more character set encodings
Support UTF-16BE, EUC-KR (KSX1001), GB2312 and ISO-10646/UTF8 text
encoding and fixed new line for multibyte encoding

https://bugzilla.gnome.org/show_bug.cgi?id=664257
2011-11-22 11:35:00 +00:00
Stefan Sauer
aa4b5b3bf5 playondemand: remove unported plugin from 0.8
These days one would do the effect e.g. using gnonlin.
2011-11-22 09:11:35 +01:00
Stefan Sauer
bae725ed1f speed: tiny doc blob clarification 2011-11-22 09:10:57 +01:00
Stefan Sauer
bf7c118c3c freeverb: add a freeverb port
Freeverb is a public domain reverb implementation. Port it as a gstreamer
element and make use of gstreamer specific features (gap aware, disconts,
controller, ...).
2011-11-22 09:10:57 +01:00
Wim Taymans
e813abf631 update for activation changes 2011-11-21 13:37:20 +01:00
Stefan Sauer
143bcd974b smooth: port to 0.10
Port from GstElement to GstVideoFilter. Fix FIXMEs. Cleanup naming. Expose left
out property (kuma-only).
2011-11-21 08:27:19 +01:00
Stefan Sauer
cc210b8ff6 passthrough: remove obsolete element
It is not built by default. We have identity for some of the needs and otherwise
audio/videofilter base classes.
2011-11-20 20:16:03 +01:00
Stefan Sauer
931f7b2c59 filter: remove filter plugin
We don't build it anyway and we have audioiirfilter in good.
2011-11-20 20:10:49 +01:00
Stefan Sauer
d1578f042a inter: fix leftover boilerplace comments 2011-11-20 20:10:49 +01:00
Thiago Santos
524c478fa1 camerabin2: Also reset video/audio filters before capturing
Video and audio custom filter element should also be reset before
starting a new capture, otherwise we get wrong-state errors
2011-11-19 16:22:29 -03:00
Wim Taymans
567032b5f5 update for new scheduling query 2011-11-18 17:59:47 +01:00
Mark Nauwelaerts
1f3b4ad574 h264parse: remove redundant code
... now that what should not be needed is really not needed anymore to cover
up bogus stuff that has been FIXMEd.
2011-11-18 17:20:10 +01:00
Mark Nauwelaerts
7fae33a661 h264parse: fix up AU collection processing
On the one hand, no need to collect nal if processing last one.
On the other hand, ensure AU collection processing to have sufficient
next NAL data in normal cases.

Fixes #663180.
2011-11-18 17:20:08 +01:00
Mark Nauwelaerts
66543b3dd9 h264parse: mind to-be-skipped data in subsequent re-used offsets 2011-11-18 17:20:06 +01:00
Mark Nauwelaerts
e12044c359 h264parse: avoid additional NAL parsing if no AU collection is needed 2011-11-18 17:20:03 +01:00
Mark Nauwelaerts
9db239e1ec h264parse: some more get_caps tweaking
... by having it use sink template rather than src template, and not
passing an downstream parsed(=true) to upstream.
2011-11-18 17:20:00 +01:00
Wim Taymans
b948769e6e add parent to activate functions 2011-11-18 13:58:41 +01:00
Wim Taymans
bc6ed0bf97 Merge branch 'master' into 0.11
Conflicts:
	ext/celt/gstceltdec.c
	ext/opus/gstopusdec.c
	ext/opus/gstopusdec.h
	ext/opus/gstopusenc.c
	ext/opus/gstopusenc.h
	ext/opus/gstopusparse.c
2011-11-17 17:32:42 +01:00
Wim Taymans
940de5b195 add parent to pad functions 2011-11-17 15:53:42 +01:00
Stefan Sauer
d2f2955f18 collectpads: port API changes 2011-11-17 08:53:23 +01:00
Sebastian Dröge
d746cd7d67 mpeg4videoparse: Change rank to PRIMARY+1 2011-11-16 10:57:55 -08:00
Sebastian Dröge
ec089662de mpeg4videoparse: Don't require parsed=false on the sinkpad caps 2011-11-16 10:57:24 -08:00
Sebastian Dröge
f3f9e4b978 h264parse: Implement ::sink_get_caps to allow stream-format conversion again
Just proxying the downstream caps will prevent h264parse from
accepting a different stream-format than what is supported
downstream, although it could convert to a different stream-format.
2011-11-16 10:39:40 -08:00
Wim Taymans
6d92ecac75 add parent to query function 2011-11-16 17:30:38 +01:00
Edward Hervey
e500ec524c tsdemux: Add notes on synchronization and scheduling 2011-11-16 12:47:58 +01:00
Wim Taymans
37e081fc61 update for renamed flags
Use the _check_reconfigure method instead of checking flags.
2011-11-16 12:42:24 +01:00
Jonas Larsson
5099ff23af h264parse: outgoing byte stream prefix always has size 4
Fixes #664123.
2011-11-16 10:57:30 +01:00
Wim Taymans
85afc77dea _query_peer_*() -> _peer_query_*() 2011-11-15 17:55:50 +01:00
Wim Taymans
5231ae7252 _peer_get_caps() -> _peer_query_caps() 2011-11-15 17:24:07 +01:00
Wim Taymans
03713e5045 change getcaps to query 2011-11-15 16:34:13 +01:00
David King
92f07e3898 camerabin: Document requirement for PLAYING state
As described in GNOME bug 663998, the element must be in the PLAYING
state before calling capture-start.

https://bugzilla.gnome.org/show_bug.cgi?id=664048
2011-11-14 23:28:29 -03:00
Thiago Santos
1d5b324e7d camerabin2: Also reset audio elements when video capture finishes
Audio elements also need to be reset after each capture, do it
together with the video elements' reset
2011-11-14 17:48:52 -03:00
Thiago Santos
aab3a73ccd camerabin2: Add one debug line about camerabin2 being idle 2011-11-14 13:06:29 -03:00
Thiago Santos
54351a0129 camerabin2: Remove video elements' state clearing from start-capture
Reduce start-capture workload by moving the elements' state reseting to the
finishing steps of the capture. This reduces the time start-capture takes to
actually start a capture and return to its caller, improving user experience.

As the elements' state reset is now triggered from the message handling
function, it needs to spawn a new thread, changing state from the pad's
task would cause a deadlock.
2011-11-14 13:06:29 -03:00
Thiago Santos
c635e4bc3b camerabin2: keep track of video recording state
Adds a new variable to keep track of the state of the video
recording in camerabin2. This allows start-capture to reject
new video recording requests when one is already ongoing. This
fixes one of check tests.
2011-11-14 13:06:28 -03:00
Tim-Philipp Müller
357d7bdfed Update for GstURIHandler get_protocols() changes 2011-11-13 23:55:56 +00:00
Wim Taymans
d3f42035fe Merge branch 'master' into 0.11 2011-11-11 10:39:17 +01:00
Matej Knopp
a08b3bfa23 mpegvideoparse: add support for progressive frames
https://bugzilla.gnome.org/show_bug.cgi?id=663782
2011-11-10 19:58:13 -03:00
Stefan Sauer
f8abc7e734 audiovisualizer: port to 0.11 2011-11-10 23:20:32 +02:00
Wim Taymans
59b4bcd27e Merge branch 'master' into 0.11 2011-11-10 12:14:19 +01:00
Wim Taymans
8546951222 chain up in set_clock 2011-11-10 12:11:21 +01:00
Thiago Santos
c7db5db632 camerabin2: protect image location list with mutex
Rename the image taglists' mutex into image capture mutex and
use it also for the image capture list to prevent concurrent
access from different threads (application and capture threads).
2011-11-09 12:30:58 -03:00
Thiago Santos
27e01e02a4 camerabin2: Handle null taglists for images
Add NULL and check for them to the image capture taglist list, representing
that a capture has no application tags set.
2011-11-09 12:30:58 -03:00
Thiago Santos
9ab6406f23 camerabin2: Don't store preview location if preview isn't requested
Do not store preview location is post-previews is false, this would
mess up preview naming in case application switches between enabling
and disabling previews
2011-11-09 12:30:33 -03:00
Lasse Laukkanen
5ca3c9477e camerabin2: Avoid blocking in start-capture and send application tags later
Tags are currently sent from start-capture, which is run in the
application thread. For images we can delay the tags pushing to the
buffer probe and push the tags with the location event and reduce
start-capture time.
2011-11-09 11:45:55 -03:00
Wim Taymans
dbdaa23742 Merge branch 'master' into 0.11
Conflicts:
	gst/colorspace/colorspace.c
2011-11-09 12:19:04 +01:00
Thijs Vermeir
8529526c54 dtmf: fix compiler warning for uninitialized values 2011-11-09 11:56:07 +01:00
Wim Taymans
0d0444e0fa remove query types 2011-11-09 11:55:14 +01:00
Olivier Crête
d937da4c0c dtmfsrc: Reject start/stop requests that come out of order 2011-11-08 17:45:48 -05:00
Olivier Crête
d15d524fec dtmf: Post messages when starting to send/receive DTMF
This way, the UI can display the DTMF events as they as being sent.
2011-11-08 17:45:48 -05:00
Thiago Santos
74df06d8c6 camerabin2: Decrement processing counter when message handling finishes
Some messages might be interesting to applications, so we can only
decrement the processing counter and send the idle notification
when those messages are posted on the pipline's bus
2011-11-08 08:13:20 -03:00
Lasse Laukkanen
ad1ddaf53a camerabin2: change post-previews property default value as false
Generating and posting preview image always comes with a performance
penalty so set default value as false. The preview-caps property that
defines the preview image format is also NULL by default, so instead
of generating preview image of unspecified format by default explicit
action from application should be required for enabling preview image
posting feature.

Application also has to add custom code to be able
to handle preview messages on its message handling function anyway.
2011-11-08 07:09:41 -03:00
Vincent Penquerc'h
d0443cfb65 colorspace: fix r210 writing only half a scanline
https://bugzilla.gnome.org/show_bug.cgi?id=663203
2011-11-07 17:15:14 +00:00
Vincent Penquerc'h
0ff703b520 adpcm: add more consts, espcially for static const data 2011-11-07 16:41:42 +00:00
Vincent Penquerc'h
9674c5aefa autoconvert: merge caps instead of using union
It's a lot faster, and preserves caps ordering.

https://bugzilla.gnome.org/show_bug.cgi?id=663346
2011-11-07 12:16:37 +00:00
Vincent Penquerc'h
4275a70cb5 mpegdemux: catch section lengths extending past the buffer length
This is probably the cause for an occasional crash while streaming
MPEG. Blind fix after staring at the code and following logic, so
may or may not fix the issue, I cannot test.
2011-11-07 11:59:12 +00:00
Vincent Penquerc'h
b3d751667d mpegpsdemux: fix zero length packet handling
https://bugzilla.gnome.org/show_bug.cgi?id=631416
2011-11-07 11:17:00 +00:00
Wim Taymans
62544179e2 Merge branch 'master' into 0.11 2011-11-07 10:02:00 +01:00
Reynaldo H. Verdejo Pinochet
506f97a975 Fix missing sources on bayer's buildsystem androgenizer call 2011-11-04 18:06:51 -03:00
Stefan Sauer
9f73890892 controller: port to new controller location and api 2011-11-04 20:14:01 +01:00
Wim Taymans
8ec6da7797 more template fixes 2011-11-04 16:41:44 +01:00
Wim Taymans
eaad7e58b0 more template fixes 2011-11-04 12:31:19 +01:00
Wim Taymans
c8adc4f8c8 make request pads take _%u 2011-11-04 12:22:37 +01:00
Wim Taymans
ac27b5bcc8 tag: update for tag API removal 2011-11-02 12:10:03 +01:00
Wim Taymans
769a9791a4 Merge branch 'master' into 0.11 2011-11-02 10:31:24 +01:00
Wim Taymans
17a982fe31 structure: fix for api update 2011-11-02 09:08:23 +01:00
Wim Taymans
e14fbcc070 caps: update for new API 2011-11-02 09:08:23 +01:00
Thiago Santos
d4105d4b56 camerabin2: On capture error, skip previews
When the camera source fails to do some capture, skip the next
preview and decrement processing counter.
2011-11-01 11:49:17 -03:00
Lasse Laukkanen
37aa6a9c71 camerabin2: track also preview images with processing counter
Makes camerabin2 only signal that it is idle after all previews have
been generated, images are captured and saved, and videos have
been finished properly.
2011-11-01 11:49:17 -03:00
Tim-Philipp Müller
10d31a588d Update for pad API changes
GstProbeType, GstProbeReturn and GstActivateMode -> GstPad*
2011-11-01 00:45:25 +00:00
Robert Swain
e3b7cb8899 fieldanalysis: Don't reset the context on DISCONT
On discont, the queue of frames was being cleared, but also the
context reset. We only need to clear the queue.
2011-10-31 18:20:32 +01:00
Tim-Philipp Müller
c186b74296 kate, bayer, tsdemux: update for caps and taglist API changes 2011-10-31 14:51:01 +00:00
Wim Taymans
9ca3734e52 make elements compile again 2011-10-28 15:16:43 +02:00
Wim Taymans
a54cf2ccac mpegtsdemux: fix compilation 2011-10-27 16:23:26 +02:00
Wim Taymans
ce41348f78 Merge branch 'master' into 0.11 2011-10-27 16:13:56 +02:00