Commit graph

3906 commits

Author SHA1 Message Date
Thibault Saunier
3637296ee9 videoaggregator: Do not to release VIDEO_AGGREGATOR_LOCK while setting format info
We should be able to always keep the VIDEO_AGGREGATOR_LOCK while
negotiating caps, this patch introduce that change.

That also implies that we do not need the SETCAPS_LOCK anymore because
now VIDEO_AGGREGATOR_LOCK guarantees that setcaps is not called from
several threads and the gst_aggregator_set_caps method is now
protected.

https://bugzilla.gnome.org/show_bug.cgi?id=735042
2014-10-03 13:18:05 +02:00
Thibault Saunier
1b4547ff93 aggregator: Take lock to ensure set_caps is not called concurently
Avoiding to be in an inconsistent state where we do not have
actual negotiate caps set as srccaps and leading to point where we
try to unref ->srccaps when they have already been set to NULL.

https://bugzilla.gnome.org/show_bug.cgi?id=735042
2014-10-03 13:18:05 +02:00
Sebastian Dröge
03a5bc82db videoaggregator: Also copy over the chroma siting and colorimetry when deciding on a conversion 2014-10-01 17:22:59 +03:00
Sebastian Dröge
f2af838837 videoaggregator: Revert the last commit and handle resolutions differences properly
This is about converting the format, not about converting any widths and
heights. Subclasses are expected to handler different resolutions themselves,
like the videomixers already do properly.
2014-10-01 17:18:05 +03:00
Sebastian Dröge
154eb9b508 videoaggregator: GstVideoConverter currently can't rescale and will assert
Leads to ugly assertions instead of properly erroring out:
CRITICAL **: gst_video_converter_new: assertion 'in_info->width == out_info->width' failed
2014-10-01 17:11:16 +03:00
Sebastian Dröge
c4cc2dfabf gl/cocoa: Always update our viewport if Cocoa tells us something has changed
The visible rect and bounds might be the same as before, but Cocoa
might've changed our viewport without us nothing. This happens if
you hide the view and show it again.
2014-10-01 16:04:36 +03:00
Sebastian Dröge
061d55f535 gl/cocoa: Handle NSView::renewGState() properly
Don't update the screen until we redraw, this prevents flickering during
scrolling, clipping, resizing, etc
2014-10-01 11:55:51 +03:00
Matthew Waters
dc4b4832d4 glcolorconvert: convert xRGB into ARGB properly
The alpha channel might not be the last component so check which one
it is in and clobber that one instead.
2014-09-30 14:46:14 +10:00
Matthew Waters
7b0a30343a glmemory: unset the opposite corresponding transfer flags when mapped with write
fixes consistency with consecutive gst_memory_map()'s with
flags & GST_MAP_WRITE
2014-09-30 01:49:05 +10:00
Sebastian Dröge
d4ed76e4da gl/cocoa: Update viewport according to the current clipping
We have to update the GL viewport if the NSView is only partially
visible. Otherwise the content of the frame will be visibly offset.
2014-09-29 14:34:42 +03:00
Sebastian Dröge
8d92b6a364 gl/cocoa: Improve the NSApplication initialization
This is only for non-Cocoa apps but previously caused a 2 second
waiting during startup for Cocoa apps. This is unacceptable.

Instead we now check a bit more extensive if something actually
runs on the GLib default main context, and if not don't even
bother waiting for something to happen from there.
2014-09-29 10:57:18 +03:00
Sebastian Dröge
0cd19cbda3 gl/cocoa: NSView::drawRect() should call into reshape too
We a) need to render again because part of the window was
obscured and b) might need to reshape because of clipping
changes.
2014-09-29 10:57:18 +03:00
Sebastian Dröge
66cb4166d3 gl/cocoa: Call UI related API from the application main thread 2014-09-29 10:57:18 +03:00
Sebastian Dröge
2173d34462 gl/cocoa: Switch to a plain NSView subclass instead of NSOpenGLView
We don't and can't use NSOpenGLView as it's supposed to be used and
it gets into our way by being to clever in various situations.
2014-09-29 10:57:18 +03:00
Edward Hervey
e064d280ea glcontext: Initialize variable
Avoids the following warning:

gstglcontext.c:647:58: error: 'prev' may be used uninitialized in
 this function [-Werror=maybe-uninitialized]
2014-09-29 08:54:29 +02:00
Josep Torra
5b79423416 video: fix build in gst-uninstalled setup
Include the base video lib appropriately and resort all of them as
thaytan suggested.
2014-09-28 18:03:09 +02:00
Matthew Waters
fc2471eb54 glcontext: fixup error in sharegroup comment 2014-09-29 00:32:05 +10:00
Matthew Waters
3b9893192c glcontext: detect the sharegroup case where the context are in different chains
In the end they will lead to the same root context in the tree so check that
for equality.
2014-09-29 00:24:28 +10:00
Matthew Waters
81c38c1d2b glfilter: silence a warning with empty input caps
discovered with the doublecube example

gst_caps_get_features: assertion 'index < GST_CAPS_LEN (caps)' failed
2014-09-28 21:18:32 +10:00
Matthew Waters
2043def155 videoaggregator: don't create converters when the subclass doesn't want them
fixes a critical with glvideomixer after
35bd1969f9

CRITICAL **: gst_video_converter_new: assertion 'in_info->width == out_info->width' failed
2014-09-28 16:58:42 +10:00
Sebastian Dröge
c9283c95f6 gl/cocoa: Switch from our custom main loop to a GMainLoop
Simplifies code a lot and makes it more similar to the other backends.
2014-09-25 16:13:19 +03:00
Sebastian Dröge
bc52e41641 gl/cocoa: Clear the current GL context when it should happen 2014-09-25 16:12:24 +03:00
Wim Taymans
35bd1969f9 video: use video lib conversion code instead of copy 2014-09-24 16:55:49 +02:00
Matthew Waters
c44352b11f gl: download whenever we have sysmem capsfeatures
Otherwise we could pass on a RGBA formatted buffer and downstream would
misinterpret that as some other video format.

Fixes pipelines of the form

    gleffects ! tee ! xvimagesink
2014-09-24 13:16:30 +10:00
Matthew Waters
82a3a34475 glupload: fallback to upload if contexts cannot share GL resources
Fixes pipelines of the form

    gleffects ! tee ! glimagesink

as tee does not pass on the allocation query.
2014-09-23 12:02:18 +10:00
Matthew Waters
d99b517b53 glcontext: add gst_gl_context_can_share
Which determines whether two GstGLContext's can share sharable
OpenGL resources.
2014-09-23 12:01:04 +10:00
Sebastian Dröge
8d457a4d18 gl: Let gst_gl_context_get_thread() return a new reference to the GThread
Otherwise it might go away in the meantime and the caller has some random pointer.
2014-09-22 10:09:24 +03:00
Anuj Jaiswal
d153b01280 gl: consecutive return, break statement
Signed-off-by: Anuj Jaiswal <anuj.jaiswal@samsung.com>

https://bugzilla.gnome.org/show_bug.cgi?id=736939
2014-09-22 16:17:15 +10:00
Matthew Waters
7216b360b7 gl/debug: desktop GL does not have the KHR suffixes 2014-09-22 12:21:22 +10:00
Tim-Philipp Müller
10997063a1 gl: add since markers for new API 2014-09-21 13:32:29 +01:00
Matthew Waters
64fc86844d glmemory: add debug line for freeing textures 2014-09-21 21:42:41 +10:00
Matthew Waters
5b8d7a443e glupload: provide the output buffer that is rendered into
Allows callers to properly reference count the buffers used for
rendering.

Fixes a redraw race in glimagesink where the previous buffer
(the one used for redraw operations) is freed as soon as the next
buffer is uploaded.

1. glimagesink uploads in _prepare() to texture n
1.1 glupload holds buffer n
2. glimagesink _render()s texture n
3. glimagesink uploads texture n+1
3.1 glupload free previous buffer which deletes texture n
3.2 glupload holds buffer n+1
4. glwindow resize/expose
5. glimagesink redraws with texture n

The race is that the buffer n (the one used for redrawing) is freed as soon as
the buffer n+1 arrives.  There could be any amount of time and number of
redraws between this event and when buffer n+1 is actually rendered and thus
replaces buffer n as the redraw source.

https://bugzilla.gnome.org/show_bug.cgi?id=736740
2014-09-21 21:36:49 +10:00
Matthew Waters
e7bd332887 glcontext: add API to retreive the thread that context is active in 2014-09-21 21:30:58 +10:00
Aurélien Zanelli
c9a196d54d vc1parser: take care of endianness when parsing sequence-layer
sequence-layer is serialized in little-endian byte order except for
STRUCT_C which is serialized in big-endian byte order.

But since STRUCT_A and STRUCT_B fields are defined as unsigned int msb
first, we have to pass them as big-endian to their parsing function. So
we basically use temporary buffers to convert them in big-endian.

See SMPTE 421M Annex J and L.

https://bugzilla.gnome.org/show_bug.cgi?id=736871
2014-09-18 13:36:07 +03:00
Ognyan Tonchev
5dc2843c86 glfilter: do not leak pool in error cases
https://bugzilla.gnome.org/show_bug.cgi?id=736732
2014-09-16 12:51:25 +03:00
Vasilis Liaskovitis
3c3b78508f GstGLWindow: Introduce navigation thread
This thread dispatches navigation events. It is needed to avoid deadlocks
between window backend threads that emit navigation events (e.g. X11/GMainLoop
thread) and consumers of navigation events such as glimagesink, see
https://bugzilla.gnome.org/show_bug.cgi?id=733661

GstGlWindow_x11 thread is changed to invoke the navigation thread for navigation
dispatching, instead of emiting the event itself. Othe backends beside X11 do
not dispatch navigation events yet, but should use this thread when dispatching
these events in the future.

The navigation thread is currently part of GstGLWindow and not implemented in
separate subclasses / backends. This will be needed in the future.

gst_gl_window_x11_get_surface_dimensions is also changed to use a cached value
of the window's width, height. These values are now retrieved in the X11
thread, function gst_gl_window_x11_handle_event. This change is needed because
otherwise the XGetWindowAttributes gets called from the navigation thread,
leading to xlib aborting due to multithreaded access (if XInitThreads is not
called before, as is the case for gst-launch)
2014-09-09 21:47:02 +10:00
Wang Xin-yu (王昕宇)
9047a01f5f gl: Add GSTGLAPI macro to the debug callback function
Fixes the Windows build.

https://bugzilla.gnome.org/show_bug.cgi?id=735565
2014-08-28 10:00:54 +03:00
Jan Schmidt
c93017a074 egl: Wrap KHR_create_context flags in an ifdef
EGL_CONTEXT_FLAGS_KHR and EGL_CONTEXT_OPENGL_DEBUG_BIT_KHR
don't exist in the Android NDK. Wrap their usage in an #ifdef
EGL_KHR_create_context to fix the build there.
2014-08-26 12:41:35 +10:00
Matthew Waters
83a32dbddb egl: fallback to a non-debug context if a debug one fails
The text for EGL_KHR_create_context added the possiblity for ES
contexts to ask for a debug context however that has not been
fully realized by all implementations.  Fallback to a non-debug
context when the implementation errors.
2014-08-22 16:51:29 +10:00
Lubosz Sarnecki
5ae3d68590 gstopengl: add introspection support
https://bugzilla.gnome.org/show_bug.cgi?id=734482
2014-08-21 18:41:38 +10:00
Lubosz Sarnecki
d2cac06eeb glshader: expose opengl handle in getter
https://bugzilla.gnome.org/show_bug.cgi?id=734482
2014-08-21 17:38:36 +10:00
Wang Xin-yu (王昕宇)
4c65eca7be gl: check null before unref GstGLDisplay 2014-08-21 14:59:45 +10:00
Matthew Waters
14bd147a2d gl: add prototype definition for KHR_debug 2014-08-21 10:03:07 +10:00
Matthew Waters
95a4585d4c glcontext: implement the debug callback
For both GL_KHR_debug and ARB_debug_output.  This allows us to
receive errors and other hints from the GL instead of querying after
every GL operation.
2014-08-20 23:26:26 +10:00
Matthew Waters
14a3484b14 gl: add prototypes for KHR_debug/ARB_debug_output 2014-08-20 23:26:26 +10:00
Matthew Waters
cb4fd36e7e gl: don't take an extra ref on the display on set_context
gst_context_get_gl_display() returns a ref.  Don't take another in
gst_object_replace().
2014-08-19 20:14:22 +10:00
Sreerenj Balachandran
e93551d5b0 codecparser: h264: Use proper bit_reader api while parsing buffering_period SEI
https://bugzilla.gnome.org/show_bug.cgi?id=734970
2014-08-18 11:45:54 +01:00
Tim-Philipp Müller
21e6989848 glbufferpool: fix allocator leak in some cases
Spotted by Sebastian Rasmussen.

https://bugzilla.gnome.org/show_bug.cgi?id=734523
2014-08-13 18:05:40 +03:00
Matthew Waters
44e84025d7 aggregator: fix up doc comment for set_src_caps
It does not occur 'later' anymore

https://bugzilla.gnome.org/show_bug.cgi?id=732662
2014-08-11 23:38:40 +10:00
Matthew Waters
7c016752d7 videoaggregator: push the caps event as soon as we receive it
Along with the required mandatory dependent events.

Some elements need to perform an allocation query inside
::negotiated_caps().  Without the caps event being sent prior,
downstream elements will be unable to answer and will return
an error.

https://bugzilla.gnome.org/show_bug.cgi?id=732662
2014-08-11 23:36:27 +10:00
Sebastian Rasmussen
ee09d332bd videoaggregator: Unref allowed caps after usage
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=734522
2014-08-10 11:55:09 +01:00
Vasilis Liaskovitis
4dacc4ba55 GstGLWindow, GstGLImagesink, x11: Scale navigation events on resized windows
If window is resized, GstStructure pointer values have to be rescaled to
original geometry. A get_surface_dimensions GLWindow class method is added for
this purpose and used in the navigation send_event function.

https://bugzilla.gnome.org/show_bug.cgi?id=703486
2014-08-07 13:55:02 +10:00
Wang Xin-yu (王昕宇)
ba822e1dd0 glupload: don't determine if frame needs upload by pointer compare
https://bugzilla.gnome.org/show_bug.cgi?id=734269
2014-08-06 14:47:52 +10:00
Aurélien Zanelli
41df512eb9 codecparsers_h264: initialize some fields of pic_timing structure
Otherwise pic timing structure can have invalid cpb_removal_delay,
dpb_output_delay or pic_struct_present_flag which are blindly retrieved
in h264parse.

https://bugzilla.gnome.org/show_bug.cgi?id=734124
2014-08-01 17:06:29 +02:00
Matthew Waters
8f045ab18c gl/docs: remove superflous 'the' 2014-08-01 17:51:08 +10:00
Matthew Waters
707cb58004 gl: document GST_GL_* environment variables
https://bugzilla.gnome.org/show_bug.cgi?id=733245
2014-08-01 16:43:47 +10:00
Matthew Waters
750c70f8f5 glcontext: add a destroy function
that just calls the subclass
2014-07-31 18:46:33 +10:00
Matthew Waters
46db28ac2c gl/x11: silence runtime warning
g_main_loop_quit: assertion 'loop != NULL' failed
2014-07-31 18:36:58 +10:00
Matthew Waters
acb38a2a79 glmemory: use the plane offsets to compute the size of the data pointer
Certain elements expect that there be a certain number of lines
that they can write into.  e.g. for odd heights, I420, YV12, NV12,
NV21 (and others) Y lines are expected to have exactly twice the
number of U/UV lines.

https://bugzilla.gnome.org/show_bug.cgi?id=733717
2014-07-31 15:19:54 +10:00
Matthew Waters
89636392fa glmemory: use GstVideoInfo everywhere
Simplifies a lot of the calling code

https://bugzilla.gnome.org/show_bug.cgi?id=733717
2014-07-31 15:19:54 +10:00
Matthew Waters
dc5b0c8c8d glmemory: reenable the texture_rg support for !eagl
The GST_GL_HAVE_PLATFORM_EAGL is always defined we need to compare
against the value instead.
2014-07-29 11:47:55 +10:00
Vasilis Liaskovitis
05f908bf45 glwindow/11: Emit signals for mouse and key navigation events
https://bugzilla.gnome.org/show_bug.cgi?id=703486
2014-07-24 12:24:34 +02:00
Sebastian Dröge
eab38c5b21 glwindow: Constify string parameters to the send_*_event() functions 2014-07-24 12:23:03 +02:00
Vasilis Liaskovitis
41632d486b GstGLWindow : Add mouse-event and key-event signals for navigation
https://bugzilla.gnome.org/show_bug.cgi?id=703486
2014-07-24 12:48:44 +10:00
Wang Xin-yu (王昕宇)
1adb0a77d6 gl: fix multi gl object leaks
1. fix FBO leaks in decide_allocation
2. fix texture leaks in decide_allocation and reset
3. fix texture leaks in FBO incomplete error path
2014-07-24 11:46:56 +10:00
Fabrice Bellet
2f28fcb862 parser: mpeg4: fix vlc table used for sprite trajectory
The vlc table members cbits, cword and values were assigned in the wrong
order, causing the mpeg4 parser to fail when handling sprite
trajectories.

https://bugzilla.gnome.org/show_bug.cgi?id=733322
2014-07-21 09:37:51 +02:00
Mathieu Duponchelle
d11af7cd6b aggregator: Reset flow_return *after* stopping the srcpad task.
Otherwise it might be set in an already running aggregate function.
2014-07-16 17:52:35 +02:00
Thibault Saunier
619237c0d0 aggregator: Flush sinkpads when stopping
All values are meaningless in that case, so we should make sure that
we clean everything
2014-07-16 17:52:35 +02:00
Thibault Saunier
d9385687fb aggregator: Do not forget to reset the flow return when stoping
Setting it to FLUSHING when the element is not started, and to OK
when it starts.
2014-07-16 17:52:30 +02:00
Thibault Saunier
9233c6ac69 aggregator: Handle event seqnum 2014-07-16 17:05:25 +02:00
Sebastian Dröge
acb1d5afc3 gl: Link to all required libraries but not more 2014-07-11 12:06:48 +02:00
Sebastian Dröge
f6f1c0ac34 video: Properly include headers in Makefile.am
and don't set noinst_HEADERS twice.
2014-07-11 12:01:12 +02:00
Sebastian Dröge
92d00d0233 gl: Move GstGLMixer to the plugin for now
It depends on GstAggregator and we don't want to install headers
for that yet.

https://bugzilla.gnome.org/show_bug.cgi?id=732207
2014-07-11 09:41:05 +02:00
Sebastian Dröge
f701aa29b9 libs: Don't install headers and pc files for libgstwayland/badvideo/badbase
These will disappear after 1.4.0 and it would be rather annoying if
people started depending on them.

https://bugzilla.gnome.org/show_bug.cgi?id=732207
2014-07-11 09:33:57 +02:00
Edward Hervey
9e73b487c4 mpegts: Add parsing for CA descriptor (0x05)
https://bugzilla.gnome.org/show_bug.cgi?id=732986
2014-07-11 08:32:06 +02:00
Sebastian Rasmussen
fba6ebaae2 mpegts: No need to check for NULL before calling g_free()
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=732789
2014-07-09 12:04:17 +02:00
Sebastian Rasmussen
66c38b50f3 mpegts: Don't confuse slice allocator with regular one
Previously selector_bytes and private_data_bytes were sometimes allocated and
free using the normal allocator and sometimes using the slice allocator.
Additionally prefer g_strdup() to g_memdup() for strings.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=732789
2014-07-09 12:04:17 +02:00
Edward Hervey
7626b494cb mpegts: Fix dvb linkage leaks
CID #1224130
2014-07-09 07:50:13 +02:00
Stefan Ringel
43dd0ec62a mpegts: use getter for egde linkage descriptor type
https://bugzilla.gnome.org/show_bug.cgi?id=730914
2014-07-09 07:41:33 +02:00
Stefan Ringel
41f1c8c32e mpegts: fix annotation
https://bugzilla.gnome.org/show_bug.cgi?id=730914
2014-07-09 07:41:32 +02:00
Edward Hervey
90b27a3c8b mpegts: Add padding to public structures
Allows use to add API in the future without breaking ABI. We broke the API/ABI
once between 1.2 and 1.4, let's try to avoid this in the future even if this
is an unstable library.

https://bugzilla.gnome.org/show_bug.cgi?id=730914
2014-07-09 07:39:37 +02:00
Thiago Santos
1d233b7516 mpegts: atsc: fix leak of short name 2014-07-08 15:43:32 -03:00
Thiago Santos
2874bff392 mpegts: fix leak of language code 2014-07-08 14:56:38 -03:00
Thibault Saunier
e4b07ee51d videoaggregator: Fix some more the locking logic in update_src_caps
We need the GST_OBJECT_LOCK only to iterate the sinkpads, nothing else.

https://bugzilla.gnome.org/show_bug.cgi?id=732750
2014-07-06 23:36:10 +02:00
Tim-Philipp Müller
341dc8aecf videoaggregator: fix broken locking in update_src_caps function
We would unlock an already-unlocked mutex that we never re-locked.

https://bugzilla.gnome.org/show_bug.cgi?id=732750
2014-07-06 22:16:48 +01:00
Tim-Philipp Müller
551122c19a aggregator: fix locking
We would unlock a mutex we never locked on SEGMENT
events.
2014-07-06 22:09:53 +01:00
Julien Isorce
6e51790a11 glcocoa: initalize NSApp asap when using gst-launch
See https://bugzilla.gnome.org/show_bug.cgi?id=732661
2014-07-03 10:39:44 +01:00
Vincent Penquerc'h
2a7c05592d videoaggregator: reset QoS on segment event
https://bugzilla.gnome.org/show_bug.cgi?id=732540
2014-07-01 16:35:42 +01:00
Gwenole Beauchesne
a61b7728b4 codecparsers: h264: clarifications and documentation fixes.
Fix documentation for GstH264NalUnit. The @ref_idc part was totally
unbalanced. Also add a note about @offset and @size fields to remind
that this is relative to the start of the NAL unit, thus including
the header bytes.
2014-07-01 16:26:48 +02:00
Gwenole Beauchesne
22b68b60ec codecparsers: h264: fix identification of EOSEQ and EOS NALs.
An end_of_seq() [EOSEQ] or end_of_stream() [EOS] NAL unit is really
one byte long because this shall include the NalHeaderBytes (1) too.
The NALU.offset starts from the first byte of the header.

This is the proper fix to commit d37f842. In practice, this fixes
parsing of FRExt1_Panasonic_D and FRExt2_Panasonic_C, that include
additional frames after an EOSEQ.

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

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2014-07-01 16:26:48 +02:00
Edward Hervey
8c53dfcfb6 mpegts: Expose GstMpegtsDescriptor free function
Nothing earth shattering, but avoids people having to use g_boxed_free()
2014-07-01 10:03:49 +02:00
Sebastian Dröge
4cbddec9fe eagl: Disable usage of R and RG textures on iOS
They don't work currently and just render zeroes, while the
fallback code path with LUM and LUM_ALPHA textures still works.

https://bugzilla.gnome.org/show_bug.cgi?id=732390
2014-06-30 19:16:13 +02:00
Thibault Saunier
71c81a5176 aggregator: Avoid destroying sources we do not own
+ Unref the maincontext in a new dispose function
+ Make sure to remove all sources on dispose

https://bugzilla.gnome.org/show_bug.cgi?id=732445
2014-06-30 14:24:49 +02:00
Sebastian Dröge
426f9e6097 mpegts: Fix memory leaks in the test and the library
Currently uses g_boxed_free() in the unit test, this needs to
be fixed properly when cleaning up the API.

https://bugzilla.gnome.org/show_bug.cgi?id=730914
2014-06-29 21:34:50 +02:00
Sebastian Dröge
ace64ca3e5 badvideo: Update dist generated ORC files 2014-06-28 17:03:19 +02:00
Sebastian Dröge
286a80ab18 badvideo: Rename videoconvert functions to prevent conflicts with static linking
https://bugzilla.gnome.org/show_bug.cgi?id=728443
2014-06-28 17:03:19 +02:00
Thiago Santos
bdda4bb689 aggregator: always store or unref the buffer on the _chain function
Otherwise it leaks, and it is very common to go to flushing when the
pipeline is stopping, leaking a buffer.
2014-06-28 09:44:22 -03:00
Thiago Santos
b0652ee88f aggregator: always unref the buffer on _finish function
Otherwise the user doesn't know if it was unref'd or not
2014-06-28 09:44:22 -03:00
Thiago Santos
5ce02fa5f9 aggregator: add dispose/finalize functions
Add functions to be able to cleanup the mutex/cond and pending buffers
on the aggregator and on its pad
2014-06-28 09:44:22 -03:00
Thiago Santos
e6244874ab mpegts: atsc: avoid calling g_convert with 0-sized input
Avoids an assertion. The cached string will be assigned an empty string
as its value when size is 0.
2014-06-27 12:50:27 -03:00
Gwenole Beauchesne
9bd186a960 codecparsers: h264: fix memory leak in GstH264PPS.
The gst_h264_parse_pps() function dynamically allocates the slice
group ids map array, so that needs to be cleared before parsing a
new PPS NAL unit again, or when it is no longer needed.

Likewise, a clean copy to the internal NAL parser state needs to be
performed so that to avoid a double-free corruption.

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

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2014-06-27 14:00:10 +02:00
Gwenole Beauchesne
b458a1e255 codecparsers: h264: fix typo in GstH264VUIParams description. 2014-06-26 17:22:26 +02:00
Aurélien Zanelli
67df207280 codecparsers: h264: add support for Recovery Point SEI message.
The recovery point SEI message helps a decoder in determining if the
decoding process would produce acceptable pictures for display after
the decoder initiates random access or after the encoder indicates
a broken link in the coded video sequence.

This is not used in the h264parse element, but it could help debugging.

https://bugzilla.gnome.org/show_bug.cgi?id=723380
2014-06-26 17:22:26 +02:00
Gwenole Beauchesne
0440cabf49 codecparsers: h264: add nal_reader_skip_long() helper.
Add nal_reader_skip_long() helper function to allow an arbitrary number
of bits to be skipped. The former nal_reader_skip() function is too
limited to the actual cache size.

Use this new function to simplify gst_h264_parser_parse_sei_message()
default case, that skips unsupported payloads.

v2: made args consistent from header to source file.

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2014-06-26 17:22:26 +02:00
Matthew Waters
2e83aca728 videoaggregator: fix a refcount error when keeping the buffer
We take a ref on the pad's buffer at the beginning so we need to
unref when we are done in all cases.
2014-06-27 00:14:03 +10:00
Gwenole Beauchesne
c46b63d44e codecparsers: vp8: move up built-in range decoder private data.
Use the first _gst_reserved[] slot to hold the built-in range decoder
private data. The first slot was formerly the buffer size, which was
then promoted to semi-public namespace when it got integrated as git
commit 2940ac6.

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2014-06-26 16:04:54 +02:00
Matthew Waters
c39105524a glcolorconvert: free pixel swizzling information 2014-06-26 11:25:37 +10:00
Matthew Waters
a03dbd11e4 glmixer: remove redundant/unused lock
Use the GstObject lock instead
2014-06-26 11:15:56 +10:00
Matthew Waters
de05daec80 glmixer: remove redundant creation and free of GPtrArrays
Also plugs a memory leak
2014-06-26 11:12:49 +10:00
Matthew Waters
f686c890e4 glmixer: plug a memory leak for the caps
gst_query_set_caps_result() takes a ref on the caps
2014-06-26 10:54:38 +10:00
Matthew Waters
a9215f78b5 aggregator: plug a memory leak of the srccaps 2014-06-26 10:53:16 +10:00
Matthew Waters
596353854f glmixer: intersect with the filtercaps if available 2014-06-26 10:31:41 +10:00
Matthew Waters
8ef71b5db7 gl: update gles2 compatability header 2014-06-26 10:31:41 +10:00
Edward Hervey
22dfd9aef3 mpegts: Unify API : GstMpegts / gst_mpegts_ / GST_*_MPEGTS_
It was previously a mix and match of both variants, introducing just too much
confusion.

The prefix are from now on:
* GstMpegts for structures and type names (and not GstMpegTs)
* gst_mpegts_ for functions (and not gst_mpeg_ts_)
* GST_MPEGTS_ for enums/flags (and not GST_MPEG_TS_)
* GST_TYPE_MPEGTS_ for types (and not GST_TYPE_MPEG_TS_)

The rationale for chosing that is:
* the namespace is shorter/direct (it's mpegts, not mpeg_ts nor mpeg-ts)
* the namespace is one word under Gst
* it's shorter (yah)
2014-06-25 14:50:05 +02:00
Edward Hervey
cddabd751c mpegtssection: Free data in error cases
Data is marked as "transfer full", if we have an error we need to
free it.
2014-06-25 14:15:37 +02:00
Matthew Waters
720405b561 glfilter: pass through the allocation query when in passthrough mode
Otherwise two GL elements on either side will fail to use the same
GL context.
2014-06-25 22:05:37 +10:00
Matthew Waters
a2bd2ce83b glfilter: prefer passthrough for non-sysmem caps 2014-06-25 21:50:40 +10:00
Julien Isorce
f63c91ab71 glfilter: handle NULL decide_query which means passthrough
See https://bugzilla.gnome.org/show_bug.cgi?id=732178
2014-06-25 06:56:33 +01:00
Julien Isorce
045aa4ee7e glfilter: prepend intersection to src caps
Prefer to stay in the same memory space if possible.
Also it let a chance to do passthrough.

See https://bugzilla.gnome.org/show_bug.cgi?id=732178
2014-06-25 06:56:25 +01:00
Edward Hervey
42b3d6ec8a mpegts: More doc fixes
Still not done :(
2014-06-24 16:06:01 +02:00
Edward Hervey
0607756e24 mpegts: more annotation fixes 2014-06-24 16:06:01 +02:00
Stefan Ringel
7c884374eb mpegts: change to GType and from gchar[] to gchar*
https://bugzilla.gnome.org/show_bug.cgi?id=730914
2014-06-24 16:06:01 +02:00
Matthew Waters
1d16cd50a3 gl: add a scary note about initializing thread support for the winsys
We cannot do it as the winsys may crash if we initialize too late.

Example, GLX contexts with Intel drivers:
Intel requires the X Display to be the same in order to share GL
resources across GL contexts.  These GL contexts are generally
accessed from different threads.  Without winsys support it is
nearly impossible to guarentee that concurrent access will not
occur.  This concurrent access could result in crashes or abortion
by the winsys (xcb).

https://bugzilla.gnome.org/show_bug.cgi?id=731525
2014-06-24 23:41:00 +10:00
Edward Hervey
123f642d5e mpegts: Fix descriptor_from_dvb_service
Various leaks/overwrites issues
2014-06-24 14:51:32 +02:00
Edward Hervey
aaee4dc23b all: Don't declare variables in 'for' loops 2014-06-24 14:51:32 +02:00
Sebastian Dröge
104816e906 badbase: Use the correct LDFLAGS for creating libraries
Otherwise we won't e.g. create .dlls on Windows
2014-06-24 11:27:15 +02:00
Matthew Waters
8f716555ba videoaggregator: don't clobber already heap allocated video frame
CID # 1223440
2014-06-23 22:40:23 +10:00
Matthew Waters
5d1efa193f videoaggregator: fix up the parent chaining for dispose and finalize 2014-06-23 22:36:23 +10:00
Matthew Waters
078c789ffa gluploadmeta: reenable GLMemory upload path 2014-06-23 21:43:10 +10:00
Sebastian Dröge
6d3d06c91f Release 1.3.3 2014-06-22 19:22:28 +02:00
Sebastian Dröge
f5356dc697 video: Link with $(LIBM) for rint() and others 2014-06-22 18:52:54 +02:00
Matthew Waters
d52ef19d7f gl: move gles2 compat header to glprototypes 2014-06-22 09:48:22 +10:00
Matthew Waters
838fd776cf glbufferpool: provide a consistent API regardless of platform 2014-06-22 09:48:22 +10:00
Matthew Waters
1970659fa1 gl: mark library as API unstable 2014-06-22 09:48:22 +10:00
Thibault Saunier
4ed2a66f1e libs:uridownloader: Properly declare APIs as UNSTABLE 2014-06-21 17:02:50 +02:00
Thibault Saunier
bc5e230040 libs:video: Properly declare APIs as UNSTABLE 2014-06-21 17:02:50 +02:00
Thibault Saunier
816b12d100 libs:base: Properly declare APIs as UNSTABLE 2014-06-21 17:02:50 +02:00
Thibault Saunier
f9ff8cd7c8 libs:video: Add -I$(top_srcdir)/gst-libs to fix distcheck 2014-06-21 15:40:58 +02:00
Thibault Saunier
8250845b47 libs:base: Fix includedir 2014-06-21 15:26:14 +02:00
Thibault Saunier
6409641130 aggregator: Fix requested pad name 2014-06-21 14:14:26 +02:00
Thibault Saunier
1bfee113c4 libs: videoaggregato: Do not import videoconvert.h in gstvideoaggregatorpad.h
+ Add a Private structure to the GstVideoAggregatorPad
+ Add some padding
2014-06-20 22:14:25 +02:00
Thibault Saunier
32d64d1863 Final fix compilation 2014-06-20 21:28:12 +02:00
Thibault Saunier
b4799dd17b libs:video:Fix compilation 2014-06-20 20:35:45 +02:00
Thibault Saunier
4ce8b409cc gl: Port glmixer to the GstVideoAggregator baseclass
https://bugzilla.gnome.org/show_bug.cgi?id=731921
2014-06-20 19:53:33 +02:00
Mathieu Duponchelle
7cf66e7c07 videoaggregator: Create a new GstVideoAggregator baseclass
This base class has been added to a newly created libgstbadvideo library

Co-Authored by: Thibault Saunier <tsaunier@gnome.org>

https://bugzilla.gnome.org/show_bug.cgi?id=731918
2014-06-20 19:53:33 +02:00
Thibault Saunier
55c65d079f aggregator: Add new GstAggregator base class
This base class has been added to a newly created libgstbadbase library

Co-Authored by: Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>

https://bugzilla.gnome.org/show_bug.cgi?id=731917
2014-06-20 19:53:33 +02:00
Sebastian Dröge
e3af42ae82 uridownloader: Include the debug string in the error messages we propagate from t source 2014-06-19 18:34:05 +02:00
Matthew Waters
189353619c glframebuffer: don't segfault needlessly with GLES2
gst_gl_framebuffer_use_v2 was using a function that is not available
with GLES2
2014-06-17 23:21:15 +10:00
Tim-Philipp Müller
d4745ea78c wayland: add unstable API guards to wayland library header 2014-06-17 13:15:06 +01:00
Tim-Philipp Müller
fc4aa73aca gst-libs: fix uninstalled build of new wayland lib 2014-06-17 13:11:29 +01:00
George Kiagiadakis
86930cab13 waylandsink: rename pause/resume_rendering to begin/end_geometry_change and update their documentation 2014-06-17 13:51:28 +02:00
George Kiagiadakis
39c5a9ce13 wayland: remove gst_wayland_video_set_surface_size()
Not needed anymore, since we use gst_video_overlay_set_render_rectangle()
2014-06-17 13:51:27 +02:00
George Kiagiadakis
b806313396 wayland: add public API for creating & using the display handle GstContext 2014-06-17 13:51:27 +02:00
George Kiagiadakis
c62ec6f815 waylandsink: get the external display handle using GstContext
This drops the ugly GstWaylandWindowHandle structure and is much
more elegant because we can now request the display separately
from the window handle. Therefore the window handle can be requested
in render(), i.e. when it is really needed and we can still open
the correct display for getting caps and creating the pool earlier.

This change also separates setting the wl_surface from setting its size.
Applications should do that by calling two functions in sequence:

  gst_video_overlay_set_window_handle (overlay, surface);
  gst_wayland_video_set_surface_size (overlay, w, h);
2014-06-17 13:51:27 +02:00
George Kiagiadakis
7982ed03c1 wayland/Makefile.am: link with gstvideo to avoid introspection errors 2014-06-17 13:51:26 +02:00
George Kiagiadakis
e56f305274 waylandsink: implement the GstVideoOverlay & GstWaylandVideo interfaces
This is the initial implementation, without the GstVideoOverlay.expose()
method. It only implements using an external (sub)surface and resizing
it with GstWaylandVideo.
2014-06-17 13:51:24 +02:00
George Kiagiadakis
86a3c384ae wayland: Add new gst-wayland library containing a new GstWaylandVideo interface
This interface is needed to be able to embed waylandsink into
other wayland surfaces. Due to the special nature of wayland,
GstVideoOverlay is not enough for this job.
2014-06-17 13:51:23 +02:00
Matthew Waters
7899b9af9f gldownload: plug a memory leak 2014-06-15 15:17:07 +10:00
Matthew Waters
015beb5404 glmixer: allow the subclass to choose the sink pad type
Allows custom properties to be placed on the sink pads by subclasses
2014-06-15 12:28:45 +10:00
Gwenole Beauchesne
db887f05ca codecparsers: h264: fix quantization matrix conversion routine names.
Fix routine names for zigzag/raster scan order conversion routines for
quantization matrices. This ought to use the gst_h264_quant_matrix_*()
naming convention instead of gst_h264_video_quant_matrix_*(), which
derived from the MPEG-2 function names.

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

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2014-06-12 10:26:26 +02:00
Gwenole Beauchesne
5196f24138 codecparsers: add C++ guards for MPEG-4 and VP8 parsers.
Fix MPEG-4 and VP8 APIs to export their external symbols as pure C
symbols, i.e. un-mangled for C++.

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

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2014-06-12 10:25:54 +02:00
Matthew Waters
e1e2a88358 glmixer: send the stream-start event
and the caps event after.

https://bugzilla.gnome.org/show_bug.cgi?id=730944
2014-06-12 14:58:47 +10:00
Matthew Waters
d7f8cc9a78 glfilterapp: remove the reshape/draw properties
The reshape property was never used.
Replace the draw property with a signal.

Based on patch by Mathieu Duponchelle <mathieu.duponchelle@epitech.eu>

https://bugzilla.gnome.org/show_bug.cgi?id=704507
2014-06-12 12:49:42 +10:00
Matthew Waters
9e662b8229 glmixer: lock the size of mix->frames to the number of pads
Fixes a segfault with decodebin ! glmixer where the request pads on
both sides were being requested after the state change to PAUSED.

Also fixes dynamically adding and removing pads while glmixer is
in a state >= PAUSED.
2014-06-12 12:18:23 +10:00
Matthew Waters
574b29f2c4 gl/wayland: create a dummy display instead of an EGLDisplay
Currently, GstGLWindowWaylandEGL holds the wayland display connection
If we create the EGLDisplay at the GstDisplay creation time, then
libEGL will internally open another connection to the wayland server.
These two display connections are unable to communicate resulting in
no window output/display and hangs inside libEGL.

Eventually we will move the wl_display from GstGLWindow to GstGLDisplay.
2014-06-05 18:52:11 +10:00
Matthew Waters
59088f5a90 glupload: always release the previous buffer
Fixes the case where _perform_with_buffer() is called without
intervening calls to _release_buffer() as is the case on start up
with glimagesink.

Also release the buffer when reseting the upload.

https://bugzilla.gnome.org/show_bug.cgi?id=731107
2014-06-03 14:03:21 +10:00
Sebastian Dröge
91581cf531 glcontext: Handle (unlikely) NULL return of gl->GetString (GL_VERSION) more gracefully
CID 1219858
2014-06-02 09:23:39 +02:00
Edward Hervey
a57005abbc mpegts: Remove unneeded NULL check
Allocating those structures is done in all code paths leading there

CID #1219860
CID #1219861
CID #1219862
CID #1219863
CID #1219864
2014-06-02 08:24:08 +02:00
Matthew Waters
0f4485fc66 glmemory: remove uneeded gl api ifdefs 2014-05-30 12:29:54 +10:00
Matthew Waters
1f90323a4d glwindow_x11: allow expose events to redraw our window
otherwise we will not update the window contents on low framerate
streams until the next buffer

https://bugzilla.gnome.org/show_bug.cgi?id=723529
2014-05-30 11:51:01 +10:00
Matthew Waters
4ee5967414 glcontext: fix up assertion
error: 'return' with no value, in function returning non-void
2014-05-30 10:46:25 +10:00
Matthew Waters
da35876537 glfeature: remove GST_GL_API_GLES3
instead check the gl version using gst_gl_context_check_gl_version()
2014-05-30 10:29:37 +10:00
Matthew Waters
1334884a61 glcontext: check for GLES versions 2014-05-30 10:29:37 +10:00
Matthew Waters
5273b726a6 gl/context: add check_gl_version 2014-05-30 10:29:37 +10:00
Edward Hervey
45ec777cea glcontext: Try GLX support before EGL support
If available, glx has got a better chance of being the Gl platform
we want to use compared to EGL
2014-05-29 17:12:41 +02:00
Edward Hervey
30622337ab glcontext: Try to open lib{EGL|GL|GLESv2}.so.1 before lib{EGL|GL|GLESv2}
Fixes issues with .so (without numbering) being installed for development
(such as from mesa-dev) but actual driver (with numbering) coming from
some other place (like nvidia drivers)
2014-05-29 17:12:41 +02:00
Edward Hervey
86b8388c3f atsc-section: Fix annotation 2014-05-29 14:29:16 +02:00
Edward Hervey
611edd5e96 dvb-descriptor: Fix multilingual service name parsing
the provider and service name was inverted
2014-05-29 14:29:15 +02:00
Stefan Ringel
6a622a678e example: ts-parser: add parential rating descriptor
https://bugzilla.gnome.org/show_bug.cgi?id=730854
2014-05-29 14:29:15 +02:00
Stefan Ringel
c35dc33b7f example: ts-parser: add content descriptor
https://bugzilla.gnome.org/show_bug.cgi?id=730854
2014-05-29 14:29:15 +02:00
Stefan Ringel
1c9bbb1e00 example: ts-parser: add component descriptor
https://bugzilla.gnome.org/show_bug.cgi?id=730854
2014-05-29 14:29:15 +02:00
Stefan Ringel
f6fdd83b7e mpegts: bugfix mobile hand over linkage parse missmatch
https://bugzilla.gnome.org/show_bug.cgi?id=730901
2014-05-29 11:26:21 +02:00
Thiago Santos
fa1eb09520 mpegts: atsc: add missing field to ETT table
Set the subtable_extension as ett_table_id_extension
for ETT tables as it is used by it

https://bugzilla.gnome.org/show_bug.cgi?id=730435
2014-05-29 10:38:00 +02:00
Thiago Santos
1cab60b713 mpegts: atsc: add atsc's EIT table parsing
ATSC has its own version of the EIT table (DVB also has one).

This patch adds parsing for the ATSC EIT table and also fixed
the section identification to mark it as the ATSC one.

The implementation aws refactored to reuse some common internal
structures from ETT.

Also adds its dumping function to ts-parser example

https://bugzilla.gnome.org/show_bug.cgi?id=730435
2014-05-29 10:38:00 +02:00
Thiago Santos
0c6bb561e0 mpegts: atsc: add STT table parsing
Adds the system time table structure and functions for convenient parsing of
it and for getting the UTC datetime that it represents. Also adds its
information dumping to the ts-parser example

https://bugzilla.gnome.org/show_bug.cgi?id=730435
2014-05-29 10:37:59 +02:00
Thiago Santos
0c0379e8f0 mpegts: atsc: add encoding conversion for UTF-16 ETT strings
https://bugzilla.gnome.org/show_bug.cgi?id=730435
2014-05-29 10:37:59 +02:00
Thiago Santos
7ced36eccd mpegts: atsc: add ETT structures and parsing
ETT (extended text table) contains ATSC text information with descriptions
of virtual channels and events. The text can be internationalized and also
compressed.

https://bugzilla.gnome.org/show_bug.cgi?id=730435
2014-05-29 10:37:59 +02:00
Thiago Santos
9eed28d353 mpegts: add atsc MGT section parsing
Add a parsing function for MGT and also detect the EIT tables
for ATSC, the EIT pids are reported inside the MGT and we are still
only relying only on the table id for detecting it. In the future we
would want to also check the pid and compare with whatever the MGT
previously reported to confirm that it is indeed the EIT.

https://bugzilla.gnome.org/show_bug.cgi?id=730435
2014-05-29 10:37:59 +02:00
Thiago Santos
8f6a3c0a99 mpegts: atsc: rename TVCT to VCT as it is the same as CVCT
Make the ATSC section parse handle both TVCT and CVCT as they are
nearly the same struct (CVCT uses 2 reserved bits that are ignored
in TVCT).

This is changing the glib type and the struct name but TVCT wasn't
released in a stable package yet so there should be no problem.

Also includes some parsing fixes and changes short_name to be
directly stored as utf8 rather than utf16

https://bugzilla.gnome.org/show_bug.cgi?id=730642
2014-05-29 10:37:59 +02:00
Sebastian Dröge
f56aa3e32c glupload: Fix assertion after API changes 2014-05-29 10:37:02 +02:00
Matthew Waters
3390b2b385 gl/colorconvert: keep our private pointer
again, avoid to much trigger
2014-05-29 18:33:10 +10:00
Matthew Waters
4b5c5a7d37 gl/colorconvert: use GstObject's lock instead of our own 2014-05-29 17:29:41 +10:00
Matthew Waters
768c6de84e gl/colorconvert: remove unnecassary pointer inderection 2014-05-29 17:12:03 +10:00
Matthew Waters
07919d874c gl/upload: re add the upload meta to the private struct
try and avoid being to trigger happy
2014-05-29 16:45:37 +10:00
Matthew Waters
eff3da8871 gl/upload: small code cleanup and gst-indent 2014-05-29 16:30:14 +10:00
Matthew Waters
9eb6f536b9 gl/download: use GstObject's lock instead of out own 2014-05-29 16:30:13 +10:00
Matthew Waters
aa102d2660 gl/upload: use GstObject's lock instead of our own 2014-05-29 16:30:13 +10:00
Matthew Waters
75c7e5019c gl/filter: also remove the width/height in transform_caps
allows scaling in the filters
2014-05-29 16:30:13 +10:00
Matthew Waters
a181460755 gl/colorconvert: optimise the same format case
simply return the input buffer unchanged
2014-05-29 16:30:13 +10:00
Matthew Waters
ec8a617e8f gl/colorconvert: fix YUY2/UYVY download for RG/LA textures 2014-05-29 16:30:13 +10:00
Matthew Waters
f7f92e6d7a gl/colorconvert: allocate output buffers
Allows the nop optimisation by simply reffing the input buffer.
2014-05-29 16:30:13 +10:00
Edward Hervey
6e1679b9cb mpegts: Make some fields optional
Some people might just not care about the contents
2014-05-28 15:55:40 +02:00
Edward Hervey
ca2847e234 mpegts: Update docs for DVB frequency list 2014-05-28 15:55:40 +02:00
Sebastian Dröge
8372fa6ecc uridownloader: Store URI and redirect target in the downloaded fragments 2014-05-28 09:44:24 +02:00
Edward Hervey
7852430934 mpegts: Fix Logical Channel Descriptor parsing
No wonder we were getting garbage ...
2014-05-28 08:03:09 +02:00
Matthew Waters
21b6ca75c3 gl/upload: fix incorrect type in macros 2014-05-28 14:43:43 +10:00
Matthew Waters
6ce3b82efe gl/upload: add GstGLUploadMeta object
That simply deals with the provider aspect of GstVideoGLTextureUploadMeta.
2014-05-28 14:41:35 +10:00
Edward Hervey
1797802bd2 mpegts: Ensure NULL-terminated language code
Yup, it breaks API and ABI, I know. But let's avoid people and bindings
printing out garbage
2014-05-27 17:34:48 +02:00
Edward Hervey
f7b1b5fcd3 mpegts: Fix Extended DVB descriptor parsing
We were over-reading data, and the nb_items field isn't needed,
it's a property of the GPtrArray
2014-05-27 17:34:48 +02:00
Matthew Waters
3ddcec8062 gl/win32: make send_message reentrant
I could not find a comparable win32API function so keep the running
thread pointer to compare against.

https://bugzilla.gnome.org/show_bug.cgi?id=730782
2014-05-28 00:57:25 +10:00
Edward Hervey
b207a15073 mpegts: Fix usage of memcpy
source and destination were inverted
2014-05-27 16:17:39 +02:00
Stefan Ringel
0168160863 mpegts: add multilingual component descriptor
https://bugzilla.gnome.org/show_bug.cgi?id=728429
2014-05-27 15:34:40 +02:00
Stefan Ringel
b0f3892ae5 mpegts: add multilingual service name descriptor
https://bugzilla.gnome.org/show_bug.cgi?id=728429
2014-05-27 15:34:40 +02:00
Stefan Ringel
cac329a621 mpegts: add multilingual bouquet name descriptor
https://bugzilla.gnome.org/show_bug.cgi?id=728429
2014-05-27 15:34:39 +02:00
Stefan Ringel
b4cc5a2177 mpegts: add multilingual network name descriptor
https://bugzilla.gnome.org/show_bug.cgi?id=728429
2014-05-27 15:34:39 +02:00
Tim-Philipp Müller
1f1bb8bbe3 glcolorconvert: fix compiler warning
gstglcolorconvert.c:1133:11: error: 'j' may be used uninitialized in this function

Was used uninitialized when jumping to out label
in error case.
2014-05-27 13:57:18 +01:00
Matthew Waters
60b6ef981e gl/colorconvert: operate on buffers instead of memories 2014-05-27 21:59:12 +10:00
Julien Isorce
ce4a2b6828 gl: add missing cgl and eagl context type
https://bugzilla.gnome.org/show_bug.cgi?id=729245
2014-05-27 08:54:20 +01:00
Julien Isorce
fbe6dd9c5f gl: rename platform cocoa to cgl
Before:
GST_GL_PLATFORM=cocoa GST_GL_WINDOW=cocoa
gst-launch-1.0 videotestsrc ! glimagesink

After:
GST_GL_PLATFORM=cgl GST_GL_WINDOW=cocoa
gst-launch-1.0 videotestsrc ! glimagesink

but still pass --enable-cocoa to configure script
because currently it can only be used with cocoa API.

We could later have cgl/gstglcontext_cgl.h that manages
a CGLContextObj directly and cocoa/gstglcontext_cocoa.h
would just wrap it.
So that it could be used with other Apple's window APIs.

https://bugzilla.gnome.org/show_bug.cgi?id=729245
2014-05-27 08:46:16 +01:00
Matthew Waters
397928714d gl/mixer: don't segfault when we don't have a buffer
https://bugzilla.gnome.org/show_bug.cgi?id=729257
2014-05-27 13:57:09 +10:00
Matthew Waters
1512666ac7 gl/window_x11: avoid BadDrawable error on shutdown 2014-05-27 13:57:09 +10:00
Matthew Waters
dad342454b gl/context_egl: pass the vars in the right order to DestroySurface
https://bugzilla.gnome.org/show_bug.cgi?id=728514
2014-05-27 10:49:26 +10:00
Edward Hervey
42c061b0e7 mpegts: Fix Bouquet Name parsing
the field is not length prefixed
2014-05-26 11:54:50 +02:00
Stefan Ringel
bc7cf1520c mpegts: add bouquet name descriptor
https://bugzilla.gnome.org/show_bug.cgi?id=728364
2014-05-26 11:18:20 +02:00
Stefan Ringel
985d19deaa mpegts: add stuffing descriptor
https://bugzilla.gnome.org/show_bug.cgi?id=728364
2014-05-26 11:18:20 +02:00
Stefan Ringel
570f78df79 mpegts: add service list descriptor
https://bugzilla.gnome.org/show_bug.cgi?id=728364
2014-05-26 11:18:19 +02:00
Nicolas Dufresne
075701669e glfilter: Remove format information to allow color convert again
We also need to remove the format information,  as glfilter can do
color convertion. This code was imported from videoconvert.

https://bugzilla.gnome.org/show_bug.cgi?id=729861
2014-05-25 09:03:32 -04:00
Matthew Waters
dbffcffaee gl/memory: allocate the correct memory size
and avoid wasting resources we will never need

https://bugzilla.gnome.org/show_bug.cgi?id=730703
2014-05-25 11:45:59 +10:00
Nicolas Dufresne
a7866aa9e5 glcolorconvert: Fix YUY2 and UYVY support with luminance_alpha
https://bugzilla.gnome.org/show_bug.cgi?id=730666
2014-05-24 08:56:10 -04:00
Matthew Waters
13402f0b98 gl/memory: provide compatability defines
fixes build on android/OS X
2014-05-23 12:07:50 +10:00
Matthew Waters
26e9517355 gl/colorconvert: remove scratch texture for YUY2/UYVY
We can get all our data from the one RG/LA texture with some shader magic.

https://bugzilla.gnome.org/show_bug.cgi?id=728890
2014-05-23 11:25:11 +10:00
Matthew Waters
9a0129a0e4 gl/memory: RGBA/UNSIGNED_BYTE only format supported by ReadPixels GLES2
Error out in case we attempt to read with any other invalid format.
2014-05-23 11:25:11 +10:00
Matthew Waters
0c8ccd8c5f gl/memory: generate textures with a sized internal format
Required in order to generate RG and RED textured with GLES3.
2014-05-23 11:25:11 +10:00
Matthew Waters
001b92ba12 gl/memory: implement GL_EXT_texture_rg support
Which is used by default over the Luminance formats due to it
being color renderable with fbos (and deprecation/removal with
GL 3.x).

https://bugzilla.gnome.org/show_bug.cgi?id=729750
https://bugzilla.gnome.org/show_bug.cgi?id=704222
https://bugzilla.gnome.org/show_bug.cgi?id=728890
2014-05-23 11:25:11 +10:00
Nicolas Dufresne
9cdafffe7f Revert "h264parser: Remove unused fps_num/fps_den fields"
This breaks the build since mss has not been ported.

This reverts commit aeb6a52074.
2014-05-22 13:03:33 -04:00
Sebastian Dröge
aeb6a52074 h264parser: Remove unused fps_num/fps_den fields
Instead the newly added function should be used to calculate
the framerate properly.
2014-05-22 16:12:36 +02:00
Aurélien Zanelli
753701bf68 codecparsers_h264: add gst_h264_video_calculate_framerate()
Add a new function to calculate video stream framerate which rely on
SPS, slice header and pic timing using formula:

         time_scale                1                         1
fps = -----------------  x  ---------------  x  ------------------------
      num_units_in_tick     DeltaTfiDivisor     (field_pic_flag ? 2 : 1)

See section E2.1 of H264 specification for definition of variables.

https://bugzilla.gnome.org/show_bug.cgi?id=723352
2014-05-22 16:12:35 +02:00
Matthew Waters
746d021d70 gl/context: add gl extension checking to check_feature()
Useful for extensions that do not define any new GL API entrypoints
but can still modify behaviour when used.
2014-05-22 23:55:30 +10:00
Matthew Waters
0fb0286553 gl/download: fixup YUY2/UYVY download
Regression from 2da979831e as it did
not update the download code to reflect the change in texture format.
2014-05-22 23:55:30 +10:00
Matthew Waters
42f4869593 gl/filter: fixup passthrough bufferpool
In a pipeline like so:
  videotestsrc ! gleffects ! videoconvert ! sink
gleffects was simply passing the videoconvert bufferpool to videotestsrc
and not creating a glbufferpool. videobufferpool would then fail
to allocate from the glallocator.
2014-05-21 20:02:45 +10:00
Sebastian Dröge
752b3a503e dvb-section: Don't compare unsigned integers for >= 0
gst-dvb-section.c:93:12: error: comparison of unsigned expression >= 0 is always true
      [-Werror,-Wtautological-compare]
  if (hour >= 0 && hour < 24 && minute >= 0 && minute < 60 && second >= 0
      ~~~~ ^  ~
gst-dvb-section.c:93:40: error: comparison of unsigned expression >= 0 is always true
      [-Werror,-Wtautological-compare]
  if (hour >= 0 && hour < 24 && minute >= 0 && minute < 60 && second >= 0
                                ~~~~~~ ^  ~
gst-dvb-section.c:93:70: error: comparison of unsigned expression >= 0 is always true
      [-Werror,-Wtautological-compare]
  if (hour >= 0 && hour < 24 && minute >= 0 && minute < 60 && second >= 0
                                                              ~~~~~~ ^  ~
2014-05-21 08:53:03 +02:00
Matthew Waters
2da979831e gl/upload: switch the 'master' texture for YUY2, UYVY
From d4bcef3204 on, using a RGBA
texture to hold the data causes the glmemory to have half width
and a scaling of [2, 1].  Using a LA texture solves this problem
however cannot be attached to the framebuffer for copying into
a RGBA texture.  Which will be solved by moving to EXT_texture_rg.

https://bugzilla.gnome.org/show_bug.cgi?id=728890
2014-05-21 10:26:21 +10:00
Matthew Waters
37c08c58c5 gl/eglimage: add eglimage context feature
Allows us to selectively use EGLImages only when available

https://bugzilla.gnome.org/show_bug.cgi?id=728234
2014-05-20 23:37:52 +10:00
Matthew Waters
b30023f571 gl/context: add generic feature checking
At the moment it simply delegates to the subclass.
2014-05-20 22:26:55 +10:00
Thiago Santos
0cdcc5a7b1 mpegts: Check hour:minute:second values before creating datetime
Avoids assertions when the packets are malformed and also add the case
where the time isn't specified, only the date.
2014-05-19 14:55:21 -03:00
Sebastian Dröge
911ec0d3ef glcontext: Add more assertions to make sure that everything sets the GError during context creation if something fails 2014-05-19 12:21:13 +02:00
Thiago Santos
43f3f837fa mpegts: mpegtsdescriptor: fix gobject-introspection warnings
Adds missing : to gobject-introspection markers
2014-05-15 21:34:31 -03:00
Thiago Santos
f99fe4747e mpegts: sections: prevent assertion when packet parsing fails
the descriptors entry can be left as NULL and freeing the structure
will fail (assertion happens)
2014-05-15 19:25:06 -03:00
Matthew Waters
ce561913de gl/download: update to be similar to the glupload semantics 2014-05-14 11:38:01 +10:00
Matthew Waters
b0a1e1f15b gl/colorconvert: fix up alpha clobbering
Previously it would only work if the alpha value was in the last
component (RGBx, BGRx).  Now it works wherever the alpha value may
be (xRGB, xBGR, etc).
2014-05-14 11:38:01 +10:00
Nicolas Dufresne
5c4ebaca4f glfilter: Fix building without EGL support
This fixes the OSX build and any builds with --disable-egl. That issue
was introduced in "glfilter: rewrite transform_caps to preserve caps fields".

https://bugzilla.gnome.org/show_bug.cgi?id=729861
2014-05-13 13:17:01 -04:00
Julien Isorce
e46de48f10 glfilter: rewrite transform_caps to preserve caps fields
https://bugzilla.gnome.org/show_bug.cgi?id=729861
2014-05-13 12:43:42 -04:00
Matthew Waters
1e90a68aec gl/colorconvert: use the texture scaling from the gl memory
The colorconvert values were not being used at all.

https://bugzilla.gnome.org/show_bug.cgi?id=729896
2014-05-13 11:44:06 -04:00
Nicolas Dufresne
d4bcef3204 glmemory: Fix handling of stride with alignement larger then 8
Setting a scaled factor for X coordinate is not enough as the indexer
will still think stride is shorter and will not fully skip it. Instead,
update width, so the lines are as expected. Combined with the scale, it
will hide the cropped portion.

https://bugzilla.gnome.org/show_bug.cgi?id=729896
2014-05-13 11:43:45 -04:00
Nicolas Dufresne
2d0a791348 glupload: Ensure we still have a texture after upload_set_format()
gst_gl_upload_set_format() resets the upload, hence the texture.
So we need to ensure we have a texture after this call when
uploading.
2014-05-12 18:26:12 -04:00
Nicolas Dufresne
864e1511c7 glupload: Correctly update the video info from video meta
Using gst_video_info_set_format() isn't complete when updating
a video info from video meta.
2014-05-12 18:26:12 -04:00
Nicolas Dufresne
4f84a6124a glupload: Correctly update video info in upload fallback
When the upload accelerated method fails, we fallback to an upload,
but the video info was not correctly updated.
2014-05-12 18:26:12 -04:00
Julien Isorce
d93cd25e2d gl/upload: set out_tex after reset, not before
Fix a regression introduced recently with the lazy init.
It was happening when calling gst_video_gl_texture_upload_meta_upload
from an aplication. So not using gst_gl_upload_perform_with_buffer.
2014-05-12 13:43:19 +01:00
Matthew Waters
f14e5ea027 gl/upload: update the video info on mapping a video frame
The buffer should contain the most specific data on how the data is
formatted.  We should use this information.

https://bugzilla.gnome.org/show_bug.cgi?id=729896
2014-05-12 22:13:19 +10:00
Matthew Waters
bd3e600710 gl/convert: clobber alpha channel when needed
Needed in the conversion from padded RGB formats to formats with an
alpha channel.  e.g. BGRx -> ABGR, etc

https://bugzilla.gnome.org/show_bug.cgi?id=729742
2014-05-12 22:10:19 +10:00
Matthew Waters
a4f0fbe4c3 gl/upload: avoid performing color conversion when there is no need
One such example is when the buffer contains GstGLMemory in the
RGBA format

https://bugzilla.gnome.org/show_bug.cgi?id=729278
2014-05-12 22:09:32 +10:00
Matthew Waters
91717ca5c2 gl/colorconvert: choose the right alpha component for AYUV -> RGBA 2014-05-11 14:04:22 +10:00
Matthew Waters
0c92f185c4 gl/upload: update the respective state when we cache textures/data 2014-05-11 10:45:34 +10:00
Matthew Waters
ecae7a1a41 gl/upload: cache the textures that we are using 2014-05-10 23:54:34 +10:00
Matthew Waters
c6e3f51ca5 gl/upload: avoid recreating the GLMemory struct for output textures 2014-05-10 23:05:03 +10:00
Nicolas Dufresne
afea9c6fe1 gl: Fix some of the error handling 2014-05-09 18:59:46 -04:00
Nicolas Dufresne
803f2c3dc0 glupload: Update GstVideoInfo after the buffer is mapped
gst_video_frame_map() will store an updated video info base
on the video meta. In order to have the right stride and offset
we should update that video info accordingly.
2014-05-09 17:59:43 -04:00
Sebastian Dröge
411f367dfc gl: Fix memory leak
CID #1212171
2014-05-09 15:42:08 +02:00
Edward Hervey
2b92709154 mpegts: Fix leak
The cell extension was never added to the parent cell

CID #1212162
2014-05-09 14:32:49 +02:00
Matthew Waters
2dcbf08d73 gl/colorconvert: preserve alpha in AYUV <-> RGBA conversions
https://bugzilla.gnome.org/show_bug.cgi?id=729743
2014-05-09 22:32:11 +10:00
Matthew Waters
34b55f33f2 gl/colorconvert: implement lazy init 2014-05-09 22:32:11 +10:00
Julien Isorce
dff8abd57a gl/upload: set initted to TRUE when _init_upload succeeded 2014-05-09 13:07:16 +01:00
Sebastian Dröge
5c960069e4 gldisplay: Use GST_STR_NULL() for printing possibly NULL strings and print all variables we use
Fixes compiler warning about set but not used platform_choice variable
among other things.
2014-05-08 22:50:27 +02:00
Matthew Waters
ffe2c1f3c1 gl/upload: fix compilation on OS X 2014-05-08 17:28:11 +10:00
Matthew Waters
b0b630c69c gl/upload: fail propoerly if init fails 2014-05-08 15:40:33 +10:00
Matthew Waters
c247be334a gl: make all GObjects inherit from GstObject
Aids memory leak debugging with GST_TRACE=mem-live
2014-05-08 15:33:43 +10:00
Matthew Waters
a49a371710 gl/upload: implement lazy init
Rename init_format to set_format
2014-05-08 15:33:43 +10:00
Matthew Waters
5405273b0a gl/upload: add get_format method
Simply retreives the format set by init_format
2014-05-08 14:03:57 +10:00
Matthew Waters
810d6710d4 gl/filter: attempt to passthrough the pool if the caps are the same
Reduces the number of glbufferpool instances required for >=2
consecutive GL elements in a pipeline.
2014-05-08 14:03:57 +10:00
Matthew Waters
c2cdac278e gl/filter: always initialize the upload object 2014-05-08 14:03:50 +10:00
Matthew Waters
a27589629d gl: advertise GstGLMemory usage in the caps as capsfeatures
https://bugzilla.gnome.org/show_bug.cgi?id=729658
2014-05-07 21:48:57 +10:00
Matthew Waters
ee95595af0 gl/display: avoid endless recursion for cocoa 2014-05-07 19:07:23 +10:00
Julien Isorce
d4fe519c2e gl: do not allocate the target texture of an EGLImage
The target texture of an EGLImage is the texture bind just
before calling glEGLImageTargetTexture2D.

As we currently only support a gl texture as the source of an EGLImage
the gl texture is actually already allocated when creating the eglimage.

I also see some cases where it fails to upload an eglimage when
glTexImage2D is called on the target.
2014-05-06 15:39:12 +01:00
Julien Isorce
531e19214a gl: allow to avoid calling glTexImage2D(w, h, NULL) when generating a texture
Just pass 0 as width or height to gst_gl_context_gen_texture.
2014-05-06 15:39:12 +01:00
Julien Isorce
2115f11f0b gl: no need to initialize a frame buffer object to upload an eglimage
Fix https://bugzilla.gnome.org/show_bug.cgi?id=729588
2014-05-06 15:39:12 +01:00
Julien Isorce
65381ee664 gl: use GST_CAT_ERROR instead of GST_ERROR_OBJECT
It fixes segault when GST_DEBUG is at least level 1 and eglCreateImage fails
2014-05-06 15:39:12 +01:00
Julien Isorce
dd8929a272 gl: delete texture used with GstVideoGLTextureUploadMeta 2014-05-06 15:39:12 +01:00
Julien Isorce
73a3c173c7 gl: use gst_gl_context_gen_shader helper instead of duplicating code 2014-05-06 15:35:00 +01:00
Matthew Waters
f19e5abcb8 gl/display: clean up pre gstglcontext api and struct fields
https://bugzilla.gnome.org/show_bug.cgi?id=729551
2014-05-06 21:08:30 +10:00
Matthew Waters
c28dd9b0d3 gl/display: add get_handle_type
https://bugzilla.gnome.org/show_bug.cgi?id=729551
2014-05-06 21:08:30 +10:00
Matthew Waters
1eeecae29e gl/display: avoid opening the X11 display on systems with Cocoa (OS X)
https://bugzilla.gnome.org/show_bug.cgi?id=729551
2014-05-06 21:08:30 +10:00
Matthew Waters
8743301af9 gl/window: fix string length check for eagl 2014-05-06 21:08:30 +10:00
Matthew Waters
b694b292b9 gl/display: check the correct env variable for choosing an egl display
GST_GL_WINDOW is used for window system specific choices.
An EGLDisplay can be created from window systems with egl support by using
eglGetDisplay().

https://bugzilla.gnome.org/show_bug.cgi?id=729551
2014-05-06 21:07:38 +10:00
Edward Hervey
48f770a2df gl/cocoa: Use OBJCFLAGS where needed
Should fix usage of c-compiler-only flags with an objective-c compiler
2014-05-06 12:57:36 +02:00
Sebastian Dröge
706a88ccb3 uridownloader: Add parameter to disallow caching as required by HLS 2014-05-05 09:41:51 +02:00
Sebastian Dröge
aa875604c9 uridownloader: Add refresh parameter to hint caches that they should check if they're up to date 2014-05-02 10:36:21 +02:00
Matthew Waters
dfc6745143 gl: use the bufferpool's upload when available
Avoids duplicating GL resources

https://bugzilla.gnome.org/show_bug.cgi?id=728872
2014-05-02 15:59:28 +10:00
Julien Isorce
cf509574be gl: show internal cocoa window on top of others
Useful when your OSX terminal is fullscreen

https://bugzilla.gnome.org/show_bug.cgi?id=728127
2014-05-02 06:03:23 +01:00
Matthew Waters
b903c61ceb gl/pool: init the upload object on start
Theoretically, set_config could be called multiple times
2014-05-02 14:16:49 +10:00
Sebastian Dröge
cad1bb32c8 gl: Try harder to load symbols from the correct place
This commit makes the loading of the GModules threadsafe, and
always first tries to load the symbol for the GL library that
is selected for the current context. Only then it falls back
to looking into the current module (NULL), and only as a last
resort the context specific function (e.g. eglGetProcAddress())
is called.

Also add configure parameters to select the names of the library
modules instead of using the defaults, and let the defaults be
independent of the G_MODULE_SUFFIX.

https://bugzilla.gnome.org/show_bug.cgi?id=728753
2014-05-01 14:36:54 +02:00
Matthew Waters
598a79a5e2 gl/mem: implement texture copying between formats with strides properly
Previously, we used the width to determine the amount of data to be
copied using pbos.  This, makes it allocate enough data for the
the strides as well.
2014-05-01 14:00:04 +10:00
Matthew Waters
29ff67a60a gl/mem: pad the public struct 2014-05-01 14:00:04 +10:00
Nicolas Dufresne
441ac82d7f gl: no need to provide full lib path to load symbols
- Make gstgl work on Mali
- Keep it work on RPI
- fallback to NULL name module if fails with usual lib name

https://bugzilla.gnome.org/show_bug.cgi?id=728753
2014-04-30 15:16:06 -04:00
Julien Isorce
64e5b5a203 gl: add convenient functions to setup default vertex and fragment shaders
Most of our 2D filters use the same simple vertex shader.
Also define the default fragment shader as the identity.

Avoid duplicating the same vertex and fragment shader text.
2014-04-30 15:35:49 +01:00
Philippe Normand
eee4f95a1f gl: add missing G_BEGIN/END_DECLS in utils header 2014-04-29 19:24:08 +01:00
Jan Schmidt
4296dc12f7 gl: Reduce noisy Info level output to LOG 2014-04-29 22:19:37 +10:00
Julien Isorce
1525fa8bad gl: use gst_gl_platform_from_string because we support gl shareList on all platforms 2014-04-28 15:59:06 +01:00
Julien Isorce
6a18a1346b glfilter: only warn when other_context attribute is set
Fix false positive
2014-04-28 15:59:06 +01:00
Julien Isorce
9cb3f93b4a gl: fix string literal warning
warning: format not a string literal, argument types not checked [-Wformat-nonliteral]
2014-04-28 15:59:06 +01:00
Sebastian Dröge
dede842409 uridownloader: Unset referer if none was specified later on 2014-04-28 10:12:52 +02:00
Sebastian Dröge
fbbe73a62e uridownloader: Add API to specify the referer of a request 2014-04-28 10:04:25 +02:00
Gwenole Beauchesne
a66f2dca60 codecparsers: h264: fix parsing of slice groups for map type = 2.
When parsing slice groups information for slice_group_map_type = 2, we
should only be reading up to num_slice_groups_minus1 groups since there
is always a "leftover" slice group and as many "foreground" slice groups
as needed.

This fixes parsing for SVCBMT-5 and SVCBMT-12 whereby the base layer would
have incorrectly been parsed to have up to 38 reference frames in list0,
which is not possible.

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2014-04-27 23:41:19 +02:00
Gwenole Beauchesne
1b9e8a25a0 codecparsers: h264: fix derivation of default scaling lists.
When useDefaultScalingMatrixFlag is computed to be 1 while parsing
scaling_list(), then the scaling list shall be inferred to be equal
to the default list (7.4.2.1.1.1). That default list is really one
of Default_4x4_{Intra,Inter} or Default_8x8_{Intra,Inter} and not
one from fall-back rule sets A or B.

This fixes parsing for FRExt1_Panasonic_D, FRExt2_Panasonic_C,
FRExt3_Panasonic_E and FRExt4_Panasonic_B.

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

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2014-04-26 22:24:45 +02:00
Sebastian Dröge
cfc32a1ec4 uridownloader: Set source state to NULL if downloading failed for whatever reason 2014-04-25 14:42:35 +02:00
Nicolas Dufresne
70350bd89e gl/x11: Removed unused variable 2014-04-24 13:59:51 -04:00
Sebastian Dröge
eb88f19c10 gl/x11: Get rid of unneeded second display connection and do everything from the main loop 2014-04-24 19:11:31 +02:00
Sebastian Dröge
42a3bb7d6e gl/x11: Block rendering until swapbuffers is called and don't go via X11 events as unneeded indirection
This should fix QoS problems, where basesink believed it was rendering with
20FPS but actually we were just queueing up X11 Expose events and only once
in a while something was rendered.
2014-04-24 19:11:31 +02:00
Julien Isorce
b92b86bdd9 gl/rpi: do not scale to full screen
Having a 640x360 movie being scaled to 1900x1200 does not look nice
2014-04-24 15:26:17 +01:00
Julien Isorce
562399a71a gl/rpi: change dispmanx attributes of existing element instead of creating a new one
I was lucky that:
e1 = vc_dispmanx_element_add ()
eglCreateWindowSurface (e1)
vc_dispmanx_element_remove (e1)
e2 = vc_dispmanx_element_add ()

resulted in having e2 equal to e1. And also having the egl surface
that does not allocate its buffers before the first draw.
2014-04-24 15:26:17 +01:00
Julien Isorce
9bae6a9c2e gl/rpi: ensure the dispmanx element to be opaque
So that we ensure it does not get alpha composited with other
dispmanx elements like the desktop.
2014-04-24 15:26:17 +01:00
Julien Isorce
510040e033 gl/cocoa: pass a NSView to set_window_handle instead of a NSWindow
Fix backwards compatibility

https://bugzilla.gnome.org/show_bug.cgi?id=728451
2014-04-24 10:37:00 +01:00
Julien Isorce
162dfcdf75 gl/cocoa: only draw once the window has been resized
It avoids to draw the first frame with an incorrect view port.
2014-04-24 09:09:20 +01:00
Julien Isorce
aa4bdcd707 gl/cocoa: set the view to use for drawing by the context
It avoids to draw to an invalid buffer.
Withtout this the default frame buffer is undefined:
glBindFramebuffer (GL_FRAMEBUFFER, 0)

Visually you could see some white frames at the beginning
when lunching videotestsrc ! glimagesink

With OpenGL Profiler from XCode you could see some
GL_INVALID_FRAMEBUFFER_OPERATION for the first frames
2014-04-24 09:09:13 +01:00
Julien Isorce
1ced9b1005 gl: fix declaration-definition mismatch for _init_upload 2014-04-23 21:10:07 +01:00
Julien Isorce
453245304d gl/bufferpool: do not reset upload when set_config does not change the caps
With videotestsrc ! glimagesink it was reset 3 times
2014-04-23 21:10:03 +01:00
Julien Isorce
8fd840166b gl: use #ifdef instead of #if for __APPLE__
warning: "__APPLE__" is not defined [-Wundef]

with gcc version 4.7.2 20120731 (prerelease)
    (crosstool-NG linaro-1.13.1+bzr2458 - Linaro GCC 2012.08)
2014-04-23 21:09:58 +01:00
Nicolas Dufresne
9205bcdedb glmemory: User g_slice_new0 to ensure fully initilized structure
The pbo pointer not being initialized would trigger a use of unitilialized variable
in valgrind.
2014-04-23 12:42:44 -04:00
Vincent Penquerc'h
6ec86ca1dc gl: prevent division by 0 on unsupported texture type
Coverity 1199697
2014-04-21 13:23:45 +01:00
Jan Schmidt
b2fe0c50ff glcolorconvert: Fix bt709 conversion matrices.
Fix the sign on one entry in the bt.709 YUV->RGB conversion
matrix, and the corresponding inverse matrix. Fixes really
wrong colouring of some videos.
2014-04-21 22:03:15 +10:00
Sebastian Dröge
cea860021d codecparsers: vp8: rename dboolhuff symbols.
Rename VP8 dboolhuff symbols so that to avoid clashes with libvpx when
static linking.
2014-04-18 16:32:40 +02:00
Gwenole Beauchesne
e2aaa91c5a codecparsers: vp8: add GStreamer native utilities.
Import libvpx 1.3.0 range decoder files (dboolhuff.[ch]) to implement
the VP8 utilities native interface. Likewise, copy and use the default
libvpx generated entropy probabilities tables.

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2014-04-18 16:32:40 +02:00
Zhao, Halley
3da5a54399 codecparsers: add VP8 bitstream parser.
https://bugzilla.gnome.org/show_bug.cgi?id=722760

[refactored, among other fixes]
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2014-04-18 16:32:40 +02:00
Stefan Ringel
eeaf6e4811 mpegts: add dvb ca identifier descriptor
https://bugzilla.gnome.org/show_bug.cgi?id=727560
2014-04-16 09:23:23 +02:00
Stefan Ringel
0c773b8cdd mpegts: add scrambling descriptor
https://bugzilla.gnome.org/show_bug.cgi?id=727560
2014-04-16 09:23:05 +02:00
Stefan Ringel
e535967ee9 mpegts: add frequency list descriptor
https://bugzilla.gnome.org/show_bug.cgi?id=727560
2014-04-16 09:22:46 +02:00
Stefan Ringel
ace60abef5 mpegts: add data broadcast id descriptor
https://bugzilla.gnome.org/show_bug.cgi?id=727403
2014-04-16 09:21:45 +02:00
Stefan Ringel
065abf6d54 mpegts: add private data specifier descriptor
https://bugzilla.gnome.org/show_bug.cgi?id=727403
2014-04-16 09:21:45 +02:00
Sebastian Dröge
8407ee9ee9 dvb: Minor code style fix 2014-04-16 09:21:45 +02:00
Stefan Ringel
e71c264dbb mpegts: add parential rating descriptor
https://bugzilla.gnome.org/show_bug.cgi?id=727403
2014-04-16 09:21:45 +02:00
Stefan Ringel
eb246e2bfd mpegts: add linkage descriptor
https://bugzilla.gnome.org/show_bug.cgi?id=727403
2014-04-16 09:21:44 +02:00
Tim-Philipp Müller
990efe1fc0 mpegts: for loop initial declarations are only allowed in C99 mode
Fixes compiler warnings.
2014-04-16 00:28:37 +01:00
Julien Isorce
09116bf10d egl/eglglessink: remove since EGLImage and iOS support have been added in glimagesink
https://bugzilla.gnome.org/show_bug.cgi?id=703343
2014-04-15 18:29:53 +01:00
Julien Isorce
d93ed2b870 gl: allow to include GLES/gl.h
https://bugzilla.gnome.org/show_bug.cgi?id=703343
2014-04-15 17:40:54 +01:00
Sebastian Dröge
e5d96d052b gl/eagl: Fix compilation 2014-04-13 19:20:32 +02:00
Sebastian Dröge
d3d1b5a5e2 gl/eagl: Notify the window's resize callback about surface dimension changes
https://bugzilla.gnome.org/show_bug.cgi?id=728107
2014-04-13 16:55:26 +02:00
Sebastian Dröge
ef509077db gl/eagl: Remove spurious private struct pointer 2014-04-13 16:55:26 +02:00
Sebastian Dröge
5db4db6836 gl/android: Notify the window's resize callback about surface dimension changes
https://bugzilla.gnome.org/show_bug.cgi?id=728107
2014-04-13 16:55:26 +02:00
Matthew Waters
7f37505503 gl/context: output available extensions 2014-04-13 13:49:22 +10:00
Matthew Waters
24f533fae7 gl/context: provide get_gl_version 2014-04-13 13:44:31 +10:00
Julien Isorce
0586e49726 gl/color: restore viewport dimensions when fbo done
Regression introduced by 95abfda139.
It caused to display the wrong frame size when resizing the window.
2014-04-13 10:00:46 +10:00
Sebastian Dröge
47f7bf269a gl: Import QuartzCore/QuartzCore.h for CAEAGLLayer on older iOS versions 2014-04-12 22:45:30 +02:00
Sebastian Dröge
ae81268565 gl: Add support for iOS EAGL platform
https://bugzilla.gnome.org/show_bug.cgi?id=703341
2014-04-12 22:25:13 +02:00
Julien Isorce
6b2c24d0c4 gl/cocoa: make gst_gl_window_cocoa_send_message_async re-entrant
Backends that use g_main_context_invoke are re-entrant.

Il allows to call two nested gst_gl_context_thread_add.
ex: init_upload / init_colorconvert
2014-04-12 17:33:44 +01:00
Julien Isorce
871ddef9ce gl/cocoa: fix NSAutoreleasePool initialization 2014-04-12 15:51:47 +01:00
Julien Isorce
3c49f0f42a gl/cocoa: ensure to call NSApplication:sharedApplication in the main thread
"(NSApplication *)sharedApplication This method also makes a connection
to the window server and completes other initialization"
The implicit thing which is not mentioned is that it required
to be called in the main thread.

Fix a regression introduces by 82b7c915bb
When using with gst-launch, it was not possible to click on the close
cross of the window anymore which is a bit anoying and also because
it's was possible before.

Prior to this commit the GstGLContextCocoaClass was initialized
in the main thread because gst_gl_context_new was called in the
state change function from going from ready to paused.

From this commit this call is done from the streaming thread.
So that the call to [NSApplication sharedApplication];
was not done in the main thread anymore.

We now ensure that by assuming there is a GMainLoop running.
It's for debugging purpose so that's ok to do that. Also
note we already do this assumtion to run app itereations.

The regression had no consequence on the cocoa/videooverlay example
(that should be moved from gst-plugins-gl to -bad) because the
application is responsible for that necessary call.
2014-04-12 15:46:47 +01:00
Julien Isorce
995db85435 gl/color: fix warning type qualifiers ignored
i686-apple-darwin11-llvm-gcc-4.2
"warning: type qualifiers ignored on function return type"
2014-04-12 14:55:45 +01:00
Matthew Waters
ab9b54efdd gl/color: remove if statement with no effect
Coverity 1199698
2014-04-12 18:24:43 +10:00
Matthew Waters
a05d62d5ca gl/color: pass large value by reference
Coverity 1199700
2014-04-12 18:18:08 +10:00
Matthew Waters
b69e1f42bb gl/mem: cache the stride/unpack length for upload 2014-04-11 17:26:09 +10:00
Matthew Waters
7a424780ce gl/color: explicitly map the buffers we are copying into
Otherwise it may not be downloaded at all.
2014-04-11 17:26:09 +10:00
Matthew Waters
1e948cb42e gl/color: cache the temporary textures 2014-04-11 16:09:09 +10:00
Matthew Waters
d92eb6dbbe gl/mem: provide defines for tokens not defined in GLES2/ancient platforms 2014-04-11 11:04:43 +10:00
Matthew Waters
8cc10a1c9c gl: fixup incorrect number of arguments 2014-04-11 11:03:19 +10:00
Matthew Waters
ad30c8e7e8 gl: fix incorrect usage of g_return_if_fail 2014-04-11 10:55:21 +10:00
Matthew Waters
15d0c04933 gl/mem: allocate the memory per plane
This patch provides the basic infrastructure required for this.
Upload and Download has been ported to this.

Has the nice effect of allowing GstGLMemory to be our
refcounted texture object for any texture type (not just RGBA).

Should not lose any features/video formats.
2014-04-11 10:37:06 +10:00
Matthew Waters
d8b6303c95 gl/eglimage: #if 0 unused code 2014-04-11 10:37:06 +10:00
Matthew Waters
95abfda139 gl: add colorconvert object that converts between color spaces/formats
Currently used by both upload and download objects separately.
2014-04-11 10:37:05 +10:00
Thibault Saunier
15d00a32fd h264parse: Set framerate even for interlaced videos
Co-Authored by: Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>

https://bugzilla.gnome.org/show_bug.cgi?id=726752
2014-04-10 09:09:38 +02:00
Stefan Ringel
f566d17202 mpegts: add atsc terrestrial virtual channel table
https://bugzilla.gnome.org/show_bug.cgi?id=727460
2014-04-10 09:09:38 +02:00
Vincent Penquerc'h
8f4123a881 mpegts: fix sdt length check
It was originally test for 9 bytes (as the comment says) and was
rewritten buggily. So rewrite it a third way, which is now
hopefully consistent with the original and the comment, while
being more sense-making to humans.

Coverity 1139654
2014-04-09 16:01:43 +01:00
Vincent Penquerc'h
195470a785 mpegts: turns out glib aborts on allocation failure
So this is actually pointless. We'll just have to ignore
Coverity moaning on those.

Revert "mpegts: test for allocation failure"

This reverts commit 224cb81b8f.
2014-04-09 16:01:43 +01:00
Vincent Penquerc'h
224cb81b8f mpegts: test for allocation failure
While it's unlikely to get there, it silences the coverity warning
on the error code path that we test for NULL before freeing, when
all branches there are from locations where pmt cannot be NULL,
and removing the NULL check makes the code more vulnerable to a
hypothetical future branch from somewhere where it can be.

Coverity 1139852
2014-04-09 15:44:10 +01:00
Vincent Penquerc'h
cdfce09fb7 gl: fix leaks
As the relevant variables are initialized to 0/NULL, we can loop
over the full range and make sure we free partial allocations
when an error happens partway through initialization.
2014-04-08 15:54:01 +01:00
Matthew Waters
e01e2cce9f gl: pass video info's by reference 2014-04-02 23:05:47 +11:00
Matthew Waters
7d2d3b3b80 gl/glx: use the context's display rather than asking for the window's 2014-04-02 22:53:10 +11:00
Matthew Waters
e58cd96b96 gl: avoid adding a NULL pool to propose allocation 2014-04-02 22:42:50 +11:00
Matthew Waters
14e993e745 gl: fix detection of extensions with GL versions < 3
Mesa, for example returns valid pointers for glGetIntegerv and
glGetStringi even if the gl version is less than that required for
both those functions to supposedly exist.

https://bugzilla.gnome.org/show_bug.cgi?id=727324
2014-04-01 22:02:46 +11:00
Stefan Ringel
73862d5096 mpegts: fix docs
Signed-off-by: Stefan Ringel <linuxtv@stefanringel.de>

https://bugzilla.gnome.org/show_bug.cgi?id=727356
2014-03-31 15:05:48 +02:00
Stefan Ringel
b7efacfe15 mpegts: add dvb-t2 delivery system descriptor
Signed-off-by: Stefan Ringel <linuxtv@stefanringel.de>

https://bugzilla.gnome.org/show_bug.cgi?id=727356
2014-03-31 15:05:48 +02:00
Stefan Ringel
e8c86e355f mpegts: bugfix delivery system descriptors
Signed-off-by: Stefan Ringel <linuxtv@stefanringel.de>

https://bugzilla.gnome.org/show_bug.cgi?id=726979
2014-03-31 15:02:01 +02:00
Stefan Ringel
d108fe7ee1 mpegts: use GST_READ_UINT32_BE
Signed-off-by: Stefan Ringel <linuxtv@stefanringel.de>

https://bugzilla.gnome.org/show_bug.cgi?id=727187
2014-03-31 15:00:54 +02:00
Stefan Ringel
8b8ceb2dd9 mpegts: add parsing data broadcast descriptor
Signed-off-by: Stefan Ringel <linuxtv@stefanringel.de>

https://bugzilla.gnome.org/show_bug.cgi?id=727187
2014-03-31 15:00:54 +02:00
Stefan Ringel
f8b7a130cc mpegts: add parsing stream identifier
Signed-off-by: Stefan Ringel <linuxtv@stefanringel.de>

https://bugzilla.gnome.org/show_bug.cgi?id=727187
2014-03-31 15:00:54 +02:00
Stefan Ringel
2e051cf412 mpegts: use glib alloc and free
Signed-off-by: Stefan Ringel <linuxtv@stefanringel.de>

https://bugzilla.gnome.org/show_bug.cgi?id=727159
2014-03-31 14:54:17 +02:00
Tim-Philipp Müller
0f02311d13 gl: egl: fix distcheck and out of source build 2014-03-28 20:22:43 +00:00
Rico Tzschichholz
d10fcf4d3f build: Fix make dist 2014-03-28 20:02:40 +00:00
Matthew Waters
e356088f15 gl: fix out-of-source builds pt2
21b897de2f did this for x11 and wayland.
Do it for the other backends as well.
2014-03-27 22:03:14 +11:00
Julien Isorce
75c92dc915 gl: only set CAPS_FEATURE_MEMORY_EGL_IMAGE on egl platform 2014-03-27 07:07:01 +00:00
Julien Isorce
218244a040 gl: let the user includes itself our egl headers if needed
Forgot to address this change.

https://bugzilla.gnome.org/show_bug.cgi?id=703343
2014-03-26 19:17:03 +00:00
Julien Isorce
0ae3c984aa gl: add EGLImage support
* picked from old libgstegl:
  - GstEGLImageMemory
  - GstEGLImageAllocator
  - last_buffer management from removed GstEGLImageBufferPool

* add-ons:
  - GstEGLImageMemory now old a reference on GstGLContext
    so that it can delete the EGLImage and its gltexture source
    while having the associated gl context being current.
  - add EGLImage support for GstVideoGLTextureUploadMeta which
    mainly call EGLImageTargetTexture2D
  - GstGLBufferPool now supports GstEGLImageAllocator
  - glimagesink / glfilters / etc.. now propose GstEGLImageAllocator
    to upstream

https://bugzilla.gnome.org/show_bug.cgi?id=703343
2014-03-26 19:09:13 +00:00
Julien Isorce
6d10548e7f gl: deploy egl headers in gst/gl/egl instead of gst/gl
https://bugzilla.gnome.org/show_bug.cgi?id=703343
2014-03-26 14:52:39 +00:00
Julien Isorce
5bb4c4e866 gl: remove commented and unsued code in x11 Makefile.am
https://bugzilla.gnome.org/show_bug.cgi?id=703343
2014-03-26 14:52:31 +00:00
Julien Isorce
2893a70aa0 gl: fix crash if _build_extension_string is not called
On GLES2 then (gl->GetIntegerv && gl->GetStringi) is false
regression introduced by cc6df204e2

https://bugzilla.gnome.org/show_bug.cgi?id=703343
2014-03-26 14:51:41 +00:00
Gwenole Beauchesne
e84b0d626c codecparsers: cosmetics: drop TAB characters.
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2014-03-25 15:48:40 +01:00
Li Xiaowei
24c1ae72d3 codecparsers: h264: fix slice_header() parsing for MVC.
The idr_pic_id syntax element depends on IdrPicFlag, which is a calculated
value that does not only depend on NAL unit type (IDR), but possibly also
on MVC non_idr_flag syntax element.

The computed idr_pic_flag is already stored in GstH264NalUnit structure.

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

Signed-off-by: Li Xiaowei <xiaowei.a.li@intel.com>
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2014-03-24 19:38:13 +01:00
Gwenole Beauchesne
8dc7ab49fe codecparsers: h264: add gst_h264_parse_nalu_header() helper.
Add helper to parse the NALU header. Move bounds checking to there.

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

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2014-03-24 19:38:13 +01:00
Gwenole Beauchesne
e61ae7ffa2 codecparsers: h264: add gst_h264_parse_sps_data() helper.
Split seq_parameter_set_data() parsing off gst_h264_parse_sps() so
that it could be re-used later on.

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

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2014-03-24 19:38:13 +01:00
Gwenole Beauchesne
bd4dceeff4 codecparsers: h264: complete set of NAL unit types.
Add missing NAL unit types. They are mostly related to alpha blending,
scalable video coding extensions (SVC, Annex.G), and multiview video
coding extensions (MVC, Annex.H).

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2014-03-24 19:38:13 +01:00
Gwenole Beauchesne
afff27651b codecparsers: h264: clean-up gst_h264_parser_parse_sei_message().
Fix build when GST_DISABLE_GST_DEBUG is not defined. Use a switch
statement to dispatch to the various SEI payload handlers.

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2014-03-24 19:38:13 +01:00
Gwenole Beauchesne
1b42180817 codecparsers: h264: fix skipping of unsupported SEI messages.
The payloadSize does not account for emulation prevention bytes. So,
just use nal_reader_skip() for skipping payload_size bits. It should
be possible to further optimize this code since the NAL reader shall
be aligned to byte boundary already.

Kill the now unused nal_reader_skip_to_next_byte() function.

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

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2014-03-24 18:09:27 +01:00
Gwenole Beauchesne
aa73624638 codecparsers: h264: fix SEI buffering_period() parsing.
Fix parsing of buffering_period() SEI messages. The number of bits
used to express {nal,vcl}_initial_cpb_removal_delay{,_offset} syntax
elements is not 5 but 1 + initial_cpb_removal_delay_length_minus1.

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

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2014-03-24 18:09:27 +01:00
Gwenole Beauchesne
80a51a8fab codecparsers: h264: fix rbsp_more_data() implementation.
Account for trailing zero bits when checking for rbsp_more_data().

In particular, fix an hypothetical stream whereby rbsp_more_data()
is called in the following conditions for PPS header: NalReader
reached position 20, 12 bits are remaining and trailing data at
current byte position is c8 00.

rbsp_more_data() used to return TRUE whereas it should obviously
return FALSE because x8 00 represents a valid rbsp_trailing_bits()
structure.

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

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2014-03-24 18:09:27 +01:00
Gwenole Beauchesne
21b897de2f gl: fix out-of-source builds.
Always use the locally generated <gst/gl/gstglconfig.h> file.

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2014-03-24 17:56:13 +01:00
Matthew Waters
48ef9402bf gl/download: add support for the bt709 color matrix 2014-03-25 00:50:30 +11:00
Matthew Waters
6d452f60ee gl/upload: add support for the bt709 color matrix 2014-03-25 00:34:13 +11:00
Matthew Waters
9908375fc0 gl: remove explicit reference to X_CFLAGS
They are in GL_CFLAGS if required
2014-03-24 23:19:02 +11:00
Matthew Waters
f55b299826 gl/upload: remove the legacy GL 1.x upload path
uploading requires shaders and fbos available in GL2.
2014-03-24 23:19:02 +11:00
Julien Isorce
cc6df204e2 gl: fallback to glGetString if GL_NUM_EXTENSIONS fails
Need it on MacOSX 10.7.5
2014-03-23 11:02:08 +00:00
Matthew Waters
11e8b3017a gl: and update the Makefile 2014-03-23 01:02:03 +11:00
Matthew Waters
3180899a98 gl: reorganize the extension headers by function rather than api 2014-03-23 00:39:43 +11:00
Matthew Waters
45c94fa750 gl/win32: use the correct include and gst-indent 2014-03-23 00:39:43 +11:00
Wang Xin-yu (王昕宇)
05cb4bc6a5 gl: use wglCreateContextAttribsARB to create share context
https://bugzilla.gnome.org/show_bug.cgi?id=726494
2014-03-20 15:45:02 +11:00
Matthew Waters
58aa3e9d64 gl/mixer: fix download check for failure 2014-03-20 07:01:01 +11:00
Matthew Waters
faa94a8737 gl: silence a critical if upstream does not provide us with meta params 2014-03-20 07:01:01 +11:00
Julien Isorce
fa4ce072ee gl: silence warnings building for RPI related to 'vcos_*'
Similar than 1190a79b19
2014-03-19 14:43:13 +00:00
Julien Isorce
e870244e39 gl: keep only one occurence of '#include <EGL/egl.h>'
To simply maintainance if we need to put specific includes around it.
2014-03-19 14:43:13 +00:00
Руслан Ижбулатов
2a8f52a976 gl: fix the use of always-defined macros
After 2a0f0399ae GST_GL_* macros are always
defined to 0 or 1. Don't use #ifdef ... or #if defined() on them.

https://bugzilla.gnome.org/show_bug.cgi?id=726591
2014-03-18 06:17:03 +00:00
Matthew Waters
a64dd649f5 gl: add GModule libs for win32 2014-03-17 15:16:13 +01:00
Matthew Waters
567820c551 gl: only link against gstegl if we are using egl
Assuming if we are building egl that the egl library is built
2014-03-17 15:06:25 +01:00
Matthew Waters
acf1616251 gl: add path of the gstegl library
Temporary until we merge the two libraries
2014-03-17 14:37:13 +01:00
Matthew Waters
023c10891e Revert "gl: add dep on gstegl"
It was already in _LIBADD

This reverts commit b10a353080.
2014-03-17 14:26:31 +01:00
Matthew Waters
b10a353080 gl: add dep on gstegl
Temporary until we merge the two libraries
2014-03-17 14:12:50 +01:00
Edward Hervey
16e60d0129 gl/cocoa: Fix debug statements and platform 2014-03-17 14:06:53 +01:00
Edward Hervey
0ae0bfcbc7 gl: Fix static build with objective-C
--tag=CC is needed for static build
2014-03-17 12:05:14 +01:00
Matthew Waters
49b37650f6 gl: Add EGLDisplay display subclass 2014-03-17 10:56:39 +01:00
Matthew Waters
b67af0e314 gl/window: add a dummy window class
Effective for the case where we have a platform that does not
require a native window.  We require a mainloop to run the GL
commands which is currently operated by GstGLWindow.
2014-03-17 10:44:32 +01:00
Matthew Waters
aaa7cfc9fc gl: fix undeclared symbol when building without GST_DEBUG 2014-03-17 08:10:50 +01:00
Matthew Waters
99c48c34c1 gl: fix a double unref of the query when building without X 2014-03-17 08:10:25 +01:00
Matthew Waters
6da1c48970 gl: silence a compiler warning about missing prototypes 2014-03-16 17:21:38 +01:00
Matthew Waters
5bf83bd48f gl/utils: add x11 GstContext handling
https://bugzilla.gnome.org/show_bug.cgi?id=726360
2014-03-16 16:32:33 +01:00
Matthew Waters
e8bbcb366e gl: define GL_NUM_EXTENSIONS if not defined 2014-03-16 15:34:11 +01:00
Matthew Waters
6b3fe44185 Move gst-plugins-gl to bad 2014-03-16 15:17:59 +01:00
Matthew Waters
870503dc6b gl: silence all the compiler warnings 2014-03-16 15:17:44 +01:00
Matthew Waters
92c7849979 [906/906] filter: warn about trying to share with multiple contexts at once 2014-03-15 18:37:07 +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
f0b10d4edf [904/906] mixer: ask for display handles on pad activation 2014-03-15 18:37:07 +01:00
Matthew Waters
6527008c2a [903/906] api: add GstGLPlatform to/from string 2014-03-15 18:37:07 +01:00
Matthew Waters
ea0c6b3f70 [902/906] context: implement glGetStringi handling for GL core contexts/GLES3 2014-03-15 18:37:07 +01:00
Matthew Waters
c3146c0d48 [901/906] glx: use the display handle from the global display
Intel drivers require the display handles be the same for context
sharing to occur.  Also solves some cases of use after free of the
display when integrating with gstreamer-vaapi.

See https://bugs.freedesktop.org/show_bug.cgi?id=41736 for the intel bug.
2014-03-15 18:37:07 +01:00
Matthew Waters
25a5dabda9 [899/906] egl: warn if we resort to display handles from the window 2014-03-15 18:37:07 +01:00
Matthew Waters
105cfa62fc [897/906] api: plugin a small memory leak
Found by adrien.schwartzentruber@gmail.com
2014-03-15 18:37:07 +01:00
Matthew Waters
b9071875e7 [896/906] utils: use the vtable for deleting the texture 2014-03-15 18:37:07 +01:00
Matthew Waters
8b4503aa6f [895/906] context: call window_class->close last
We should destroy resources before closing the display connection

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=725048
2014-03-15 18:37:07 +01:00
Wang Xin-yu (王昕宇)
c3020e3ed8 [894/906] gl: add missing G_BEGIN_DECLS/G_END_DECLS
https://bugzilla.gnome.org/show_bug.cgi?id=725111
2014-03-15 18:37:07 +01:00
Matthew Waters
b6b8f9cd88 [893/906] x11: close both of the display's we use
(the comment doesn't seem to apply anymore)

https://bugzilla.gnome.org/show_bug.cgi?id=725048
2014-03-15 18:37:07 +01:00
Matthew Waters
ba38db1961 [892/906] silence a compiler warning on older gcc versions (4.6) 2014-03-15 18:37:07 +01:00
Matthew Waters
3ad466945e [891/906] context: add support for wrapping external contexts 2014-03-15 18:37:07 +01:00
Matthew Waters
0d1d42b205 [890/906] x11: add display subclass
GstGLDisplayX11 holds the display connection and name.  Each thread requires
it's own X11 Display connection (initialised from name) due to the fact that
we do not want to call XInitThreads().  Doing so would result in segfaults
when integrating with GUI toolkits Gtk, Qt, etc.

The Display connection is for OpenGL platforms where a constant display is
required in order to share contexts (egl).  In the case of a wrapped context
(added later), we do not have GstGLWindow to retreive the display from so a
'master' connection is used instead.
2014-03-15 18:37:06 +01:00
Matthew Waters
f4036318da [889/906] display: add display type enum 2014-03-15 18:37:06 +01:00
Adrien SCH
08d71feaa4 [888/906] correct error handling in gstgldownload.c 2014-03-15 18:37:06 +01:00
Matthew Waters
cdfa3a03c9 [887/906] mixer: 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
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
506e4fc793 [885/906] filter: free our data
plugs some memory leaks

https://bugzilla.gnome.org/show_bug.cgi?id=724816
2014-03-15 18:37:06 +01:00
Matthew Waters
d57403ab98 [884/906] filter: return the pad template caps in transform_caps
We can transform from any input in our caps to any output.
With the following pipeline snippet:

  ... ! vaapidecode ! glcolorscale ! xvimagesink

GstVideoGLTextureUploadMeta was being used on both src and sink
pads causing linking to fail.  This allows the usage of the meta
on either pad without affecting whether the meta is chosen on the
other pad.
2014-03-15 18:37:06 +01:00
Matthew Waters
767a3524ae [883/906] api: provide from_string()
Also s/gst_gl_api_string/gst_gl_api_to_string/g
2014-03-15 18:37:06 +01:00
Matthew Waters
13aa186711 [881/906] upload: restore default values for unpack_length
fixes elements that upload a supplementary texture (glbumber,
gldifferencematte, etc)
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
Chris Paulson-Ellis
1a53bc22c7 [877/906] x11: Use correct format string for guintptr
https://bugzilla.gnome.org/show_bug.cgi?id=723537
2014-03-15 18:37:06 +01:00
Matthew Waters
cd7bfb92d4 [876/906] glmem: use GstVideoInfo for format configuration
Allows use of strides
2014-03-15 18:37:06 +01:00
Matthew Waters
cba72fbee3 [875/906] upload: support for arbitrary strides
Using GL_UNPACK_ALIGNMENT for GLES2 and GL_UNPACK_ROW_LENGTH for everything else
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
a2abc0d3b6 [872/906] upload: consolidate data _fill 2014-03-15 18:37:05 +01:00
Matthew Waters
721a5d4c36 [871/906] upload: fix texture scaling for YUY2/UYVY with GLES2
Another artifact from the transition to GL_TEXTURE_2D
2014-03-15 18:37:05 +01:00
Matthew Waters
31eb2f5f0d [870/906] upload: remove superflous g_mutex_init 2014-03-15 18:37:05 +01:00
Matthew Waters
57422186b5 [869/906] tests: add some upload tests 2014-03-15 18:37:05 +01:00
Matthew Waters
53c5245948 [868/906] upload: fix compilation for GLES2 2014-03-15 18:37:05 +01:00
Wang Xin-yu (王昕宇)
30b9bfbf55 [867/906] glupload: Add GRAY8/GRAY16LE/BE upload support to glimagesink
the 16bit data is uploaded as LUMINANCE_ALPHA, then expanded, composed
in shader. value weight is a little complicate, high byte weight is
255*256/65535 (denormalize to [0~255] ,shift to high byte,then normalize
to [0~1]), low byte weight is 255/65535(similar)

https://bugzilla.gnome.org/show_bug.cgi?id=722670
2014-03-15 18:37:05 +01:00
Matthew Waters
83d27b9bc2 [866/906] upload: update some docs 2014-03-15 18:37:05 +01:00
Matthew Waters
49a19fb6b1 [865/906] glmem: report successful copy to the caller 2014-03-15 18:37:05 +01:00
Matthew Waters
7b031f648c [863/906] window: hold a ref to our GstGLDisplay 2014-03-15 18:37:05 +01:00
Matthew Waters
cf7838a0b6 [862/906] window: remove set_need_lock
No-one is using it.  The only code that did was the x11 one which
doesn't need it anymore.
2014-03-15 18:37:05 +01:00
Wang Xin-yu (王昕宇)
48d92cbe88 [861/906] glprototypes: Add missing glScalef declare
https://bugzilla.gnome.org/show_bug.cgi?id=721903
2014-03-15 18:37:05 +01:00
Matthew Waters
cdad19fd43 [860/906] docs: misc updates 2014-03-15 18:37:05 +01:00
Matthew Waters
3049627b87 [859/906] window: provide some documetation 2014-03-15 18:37:05 +01:00
Matthew Waters
aa573cf138 [858/906] glmem: update the docs 2014-03-15 18:37:05 +01:00
Matthew Waters
4d30769b86 [857/906] display: document the new GstContext api 2014-03-15 18:37:05 +01:00
Matthew Waters
4cf2f4ded2 [856/906] context: document it 2014-03-15 18:37:04 +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
Matthew Waters
b0a43c0c65 [850/906] glupload: Remove texture scaling artifacts from the TEXTURE_RECTANGLE -> TEXTURE_2D transition
fixes the funky colours in some of the yuv formats

https://bugzilla.gnome.org/show_bug.cgi?id=721155
2014-03-15 18:37:04 +01:00
Matthew Waters
679309e5a8 [848/906] filter: a little code cleanup 2014-03-15 18:37:04 +01:00
Matthew Waters
afdde267ef [847/906] mixer: unmap the video frames we map
plugs a memory leak
2014-03-15 18:37:04 +01:00
Matthew Waters
5cb409218a [846/906] mixer: handle 0/1 framerate better in caps 2014-03-15 18:37:04 +01:00
Matthew Waters
78a726ebc1 [845/906] filter: handle capsfeatures properly 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
Matthew Waters
4322266b97 [843/906] memory: provide copy_into_texture 2014-03-15 18:37:04 +01:00
Tim-Philipp Müller
43d953905b [842/906] Fix gstglconfig.h-related 'make distcheck' issues
Fix srcdir vs. builddir issue in docs and 'files left after
disclean' issue for gstglconfig.h
2014-03-15 18:37:04 +01:00
Julien Isorce
f506e80686 [841/906] osx: allow x11/glx backend and set default runtime to cocoa/nsgl
https://bugzilla.gnome.org/show_bug.cgi?id=719757
2014-03-15 18:37:04 +01:00
Julien Isorce
7a689108d9 [839/906] cocoa: allow to call set_window_handle before to create glcontext
So that it actually make cocoa videooverlay example work again.

Fixes bug https://bugzilla.gnome.org/show_bug.cgi?id=719758
2014-03-15 18:37:03 +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
Matthieu Bouron
52a9869596 [837/906] cocoa: resize OpenGL view size each time the window is resized
Fixes glitches that can appear when the OpenGL view has not been resized
after a window resize.

https://bugzilla.gnome.org/show_bug.cgi?id=711672
2014-03-15 18:37:03 +01:00
Matthieu Bouron
fb9684e0f1 [836/906] cocoa: only use GSRegisterCurrentThread with GNUStep environment 2014-03-15 18:37:03 +01:00
Julien Isorce
6fcd8b7206 [835/906] gstglwindow: remove unused fields 2014-03-15 18:37:03 +01:00
Julien Isorce
e5ed59e61c [834/906] gstglwindow: clear mutex 2014-03-15 18:37:03 +01:00
Julien Isorce
52119203f9 [833/906] gstglcontext: initialize window to NULL 2014-03-15 18:37:03 +01:00
Julien Isorce
d1376390ba [832/906] x11: ignore Expose events not initiated by gst_gl_window_draw 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
9c1d2eeafd [829/906] mixer: error out properly on flushing 2014-03-15 18:37:03 +01:00
Matthew Waters
b571e40ec7 [828/906] context: refcount the display 2014-03-15 18:37:03 +01:00
Matthew Waters
95f7b8dce6 [827/906] mixer: don't unref the query in the default case
The element/application performing the query is responsible for the
de/allocation
2014-03-15 18:37:03 +01:00
Matthew Waters
de31f9eb70 [826/906] upload: free our mutex 2014-03-15 18:37:03 +01:00
Julien Isorce
160fad22c0 [825/906] glwindow_x11: check if the loop exists
It happens when calling set_window_handle before to reach GST_STATE_READY.
In this case the parent is set when creating the internal window.
2014-03-15 18:37:03 +01:00
Matthew Waters
775ea000dc [824/906] android: Build fixes
https://bugzilla.gnome.org/show_bug.cgi?id=709786
2014-03-15 18:37:03 +01:00
Julien Isorce
9515519826 [823/906] wayland_egl: make the wayland backend actually work on Raspberry Pi
Fix resizing and can now move the window
2014-03-15 18:37:03 +01:00
Julien Isorce
414989b388 [822/906] gstglcontext_egl: avoid non working EGL confs on rpi/wayland 2014-03-15 18:37:02 +01:00
Julien Isorce
ca9c2cce1a [821/906] tests: fix test_share on GLESv2 2014-03-15 18:37:02 +01:00
Julien Isorce
979633ed1f [820/906] gstglwindow: if available use wayland instead dispmanx on rpi 2014-03-15 18:37:02 +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
db1c7a242b [818/906] window: add send_message_async vmethod
- provide a default synchronous send_message
- make context creation threadsafe again
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
e29d826b0a [816/906] x11: fix make check segfault 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
888c66d855 [814/906] mixer: timestamp buffers 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
c806125e15 [810/906] gstglutils: use gl_vtable for glDeleteTextures 2014-03-15 18:37:02 +01:00
Matthew Waters
135ea8e562 [808/906] x11: remove dead code 2014-03-15 18:37:02 +01:00
Matthew Waters
311592f8b1 [807/906] context: Move some window error enums to context 2014-03-15 18:37:02 +01:00
Matthew Waters
cb7bf213fe [806/906] egl: doesn't require the EGLConfig from the other context
libEGL should give us the same or similar EGLConfig from the
EGLDisplay we have.
2014-03-15 18:37:01 +01:00
Matthew Waters
93692c7437 [805/906] glfilter: rename external-opengl-context prop to other-context
It now requires a GstGLContext instead of a handle
2014-03-15 18:37:01 +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
561a71c244 [803/906] raspberrypi: add support for dispmanx
See https://bugzilla.gnome.org/show_bug.cgi?id=703342
2014-03-15 18:37:01 +01:00
Matthew Waters
b24021b1ac [801/906] context: Reimplement GL context sharing
https://bugzilla.gnome.org/show_bug.cgi?id=704806
2014-03-15 18:37:01 +01:00
Matthew Waters
5e0217d4dd [798/906] build: install needed header 2014-03-15 18:37:01 +01:00
Matthew Waters
c639a2d126 [797/906] x11: fix build for clang 2014-03-15 18:37:01 +01:00
Matthew Waters
32f40b28a5 [796/906] move egl into its own directory 2014-03-15 18:37:01 +01:00
Matthew Waters
f7d4776c7d [795/906] android: port to GstGLContext
not tested
2014-03-15 18:37:01 +01:00
Matthew Waters
95c08c2ee2 [794/906] context: add subclasses for the different platforms (egl, glx, wgl, etc)
- most code taken from the Window subclasses
- tested combinations: xEGL, GLX, Wayland+EGL, Cocoa (under GNUStep), WGL (Wine)
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
bfac5a8d76 [791/906] glwindow/x11: remove X11EventSource as soon as the window is deleted
gst_gl_window_x11_send_message do not use XSendEvent anymore
2014-03-15 18:37:01 +01:00
Sebastian Dröge
7bd7d7a48f [789/906] egl: Create a window surface if necessary 2014-03-15 18:37:00 +01:00
Tonu Jaansoo
3662fa14c6 [788/906] osx: Fix compilation 2014-03-15 18:37:00 +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
Sebastian Dröge
52052a758a [786/906] glprototypes: Add support for NV extensions for DrawBuffers and ReadBuffer 2014-03-15 18:37:00 +01:00
Sebastian Dröge
ba1403fdd4 [785/906] egl: Use EGL_KHR_surfaceless_context instead of creating a useless surface if available 2014-03-15 18:37:00 +01:00
Sebastian Dröge
4f356f999c [782/906] gldownload: Use strlen() instead of sizeof(char*)
gstgldownload.c:846:22: error: argument to 'sizeof' in 'memcpy' call is the same expression as the source; did you mean to provide an explicit length? [-Werror=sizeof-pointer-memaccess]
2014-03-15 18:37:00 +01:00
Matthew Waters
3130ac1596 [781/906] download: propogate errors from the GL thread 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
Matthew Waters
41a89bafce [779/906] download: remove _thread variants of the API 2014-03-15 18:37:00 +01:00
Matthew Waters
01a4472b7f [778/906] upload: remove _thread variants of the API 2014-03-15 18:37:00 +01:00
Matthew Waters
a4445ea016 [777/906] upload: overhaul and addition of new video formats
use the shaders from eglglessink (adapted for Desktop GL)
error out properly
2014-03-15 18:37:00 +01:00
Matthew Waters
26e46d449c [776/906] download: fix compiler warning about missing string format 2014-03-15 18:37:00 +01:00
Sebastian Dröge
228474806c [775/906] configure: Check for GLeglImageOES and others again
https://bugzilla.gnome.org/show_bug.cgi?id=704498
2014-03-15 18:37:00 +01:00
Sebastian Dröge
3900c6750c [774/906] win32: Fix some compiler errors/warnings 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
Sebastian Dröge
20cb4fb038 [771/906] gl: Some less long/ulong/gulong usage 2014-03-15 18:36:59 +01:00
Matthew Waters
10ca3beee6 [766/906] utils: generate a RGBA texture in all cases 2014-03-15 18:36:59 +01:00
Matthew Waters
3f90c6fbfd [765/906] wayland: remove fullscreen 2014-03-15 18:36:59 +01:00
Matthew Waters
6b213b1dae [764/906] filter: fix pad template caps
upload is for the sink template
download is form the src template
2014-03-15 18:36:59 +01:00
Matthew Waters
71a70e78f6 [763/906] memory: copy properly depending on where the most recent data is 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
380ab312ca [761/906] x11: Protect event display connection with a mutex
We use it from different threads and need to serialize the
accesses to it.
2014-03-15 18:36:59 +01:00
Sebastian Dröge
ddfc527857 [760/906] x11: Always use the same display connection from the GL thread
The other display connection might be used by async calls from elsewhere
at the same time.

https://bugzilla.gnome.org/show_bug.cgi?id=704247
2014-03-15 18:36:59 +01:00
Sebastian Dröge
1a6b357b39 [759/906] gldownload: #ifdef some GLES2 specific code to fix compilation 2014-03-15 18:36:59 +01:00
Sebastian Dröge
030c8ed624 [758/906] android: Don't require a window to be set
This allows the filters to be usable without a GL sink downstream.
2014-03-15 18:36:59 +01:00
Sebastian Dröge
39b6b5c272 [757/906] egl: Create an offscreen surface if no window was provided 2014-03-15 18:36:59 +01:00
Sebastian Dröge
7551b627e8 [756/906] gldownload: Reset the viewport after download RGB via GLES2 2014-03-15 18:36:59 +01:00
Sebastian Dröge
62f9105715 [755/906] gldownload: Unbind framebuffer after downloading RGB with GLES2 2014-03-15 18:36:59 +01:00
Sebastian Dröge
743ad83b06 [754/906] gldownload: Add support for RGB reordering when using GLES2 2014-03-15 18:36:58 +01:00
Sebastian Dröge
f4e76a9367 [753/906] gldisplay: Sending a message is synchronous, we can allocate the memory on the stack 2014-03-15 18:36:58 +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
7dba9d0dce [751/906] gldisplay: Don't hold lock while sending a message to the GL thread
https://bugzilla.gnome.org/show_bug.cgi?id=704247
2014-03-15 18:36:58 +01:00
Sebastian Dröge
60aefacd32 [750/906] glupload: Add support for RGB reordering when using GLES2 2014-03-15 18:36:58 +01:00
Sebastian Dröge
d87a0eaf1d [749/906] glshader: Add some more debug output 2014-03-15 18:36:58 +01:00
Sebastian Dröge
258bb6fb81 [748/906] glupload: GL_STENCIL_ATTACHMENT is needed for desktop GL, not GLES 2014-03-15 18:36:58 +01:00
Sebastian Dröge
f36efba6da [747/906] gl: Constify YUV conversion shaders 2014-03-15 18:36:58 +01:00
Sebastian Dröge
98e5077b8f [746/906] android: Add comment to clarify the type of a variable 2014-03-15 18:36:58 +01:00
Sebastian Dröge
01ce41f684 [745/906] gl: Simplify and optimize YUV conversion shaders a bit 2014-03-15 18:36:58 +01:00
Sebastian Dröge
d7f69c3d93 [744/906] gl: Use __GST_GL_H__ instead of __GL_H__ as a multi-include guard
GL/gl.h might use the latter already.
2014-03-15 18:36:58 +01:00
Sebastian Dröge
4c7388be18 [743/906] win32: Allow setting window handle before creating the context 2014-03-15 18:36:58 +01:00
Sebastian Dröge
d00770cec0 [742/906] cocoa: Allow setting window handle before creating the context 2014-03-15 18:36:58 +01:00
Sebastian Dröge
f36ee81a84 [741/906] wayland: Don't leak main context and loop 2014-03-15 18:36:58 +01:00
Sebastian Dröge
7fffd9097e [740/906] x11: Allow setting window handle before creating the context 2014-03-15 18:36:58 +01:00
Sebastian Dröge
c479544540 [739/906] x11: Don't leak main context and main loop 2014-03-15 18:36:58 +01:00
Sebastian Dröge
16a5316755 [738/906] gl: Include glu.h after gl.h 2014-03-15 18:36:58 +01:00
Sebastian Dröge
a77992c658 [735/906] gl: Add support for Android
https://bugzilla.gnome.org/show_bug.cgi?id=703340
2014-03-15 18:36:57 +01:00
Sebastian Dröge
83d066b0a5 [734/906] win32: Make automake happy by using noinst_HEADERS 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
Julien Isorce
3c0b9715a9 [731/906] cocoa: fix build when GNUSTEP is not defined 2014-03-15 18:36:57 +01:00
Sebastian Dröge
a98180cd53 [730/906] glcompat: Properly check for GLchar and other types
On Android for example these are no #defines but typedefs
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
Sebastian Dröge
a8d5b21013 [727/906] egl: Refactor EGL logic into a helper object 2014-03-15 18:36:57 +01:00
Matthew Waters
908cc1989b [726/906] window: don't call a NULL destroy function 2014-03-15 18:36:57 +01:00
Matthew Waters
f9d46c29ca [725/906] x11: use GMainContext/GMainLoop
allows us to be reentrant

https://bugzilla.gnome.org/show_bug.cgi?id=703445
2014-03-15 18:36:57 +01:00
Matthew Waters
96deb2fba3 [724/906] wayland: make reentrant
https://bugzilla.gnome.org/show_bug.cgi?id=703445
2014-03-15 18:36:57 +01:00
Julien Isorce
ba19813816 [723/906] gstglwindow: close has to be called in the glthread.
Indeed 'glXMakeCurrent (window_x11->device, None, NULL);'
has to be called in the thread where the glcontext is actually
current.
Otherwise glXDestroyContext may crash.
2014-03-15 18:36:57 +01:00
Руслан Ижбулатов
89a6d7ef5d [722/906] gl: Fix build on Win32
1) Need to include GL/glext.h on W32 to provide necessary macros
2) W32 macros that pre-processor has by default are different for different
   toolchains. Borland uses __WIN32__, everyone else has _WIN32, so check both.

Side-note: glext.h is not supplied by mingw-w64 at the moment, but can be
downloaded from http://www.opengl.org/registry/

https://bugzilla.gnome.org/show_bug.cgi?id=703364
2014-03-15 18:36:57 +01:00
Sebastian Dröge
c07d72f768 [721/906] glfilter: Use uint64 for the OpenGL context property
ulong/long properties are deprecated and should not be used anymore
for portability reasons.
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
f6a9c807f6 [716/906] wayland: properly choose EGL_RENDERABLE_TYPE
based on the gl api we chose
2014-03-15 18:36:56 +01:00
Matthew Waters
cdbe8c2d0e [715/906] display: inherit from the right object class 2014-03-15 18:36:56 +01:00
Matthew Waters
4646a1e95e [714/906] Add GstGLFramebuffer to replace _display_gen_fbo and friends
This version is simply API compatible with _display_gen_fbo.
The next version will likely revamp the API
2014-03-15 18:36:56 +01:00
Matthew Waters
09496fc8a1 [713/906] shader: make it possible to create the object in a non-GL thread 2014-03-15 18:36:56 +01:00
Matthew Waters
4801abb13a [712/906] wayland: shutdown properly
We cannot use _finalize as this will be called before GstGLWindow's
_finalize.  This causes us to try and perform operations with the
wayland server when the connection has been severed.
2014-03-15 18:36:56 +01:00
Matthew Waters
118b947e57 [711/906] wayland: support choosing Desktop GL as the api 2014-03-15 18:36:56 +01:00
Matthew Waters
c748fb7999 [710/906] window: fail if the user specifies an GL api that we cannot work with
It would've been caught later in an g_assert anyway.
2014-03-15 18:36:56 +01:00
Matthew Waters
53753ad2e6 [709/906] display: some more cleanups 2014-03-15 18:36:56 +01:00
Matthew Waters
c60d94f1bc [708/906] display: a cleanup and removal of old code 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
393b483743 [706/906] display: move activate_context into utils 2014-03-15 18:36:56 +01:00
Matthew Waters
ac4db593f8 [705/906] x11: don't shutdown in _finalize
The window's loop could be still running when _finalize is called
and if we destroy the display connection it will never be closed.

Add _open and _close vfuncs to GstGLWindow so that subclasses can
start up and shutdown at the right time.
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
2d69905592 [703/906] x11: don't segfault if destroy_cb is NULL 2014-03-15 18:36:55 +01:00
Matthew Waters
6dfee9c975 [702/906] x11: fix segfault if the x11 backend is instantiated but not used 2014-03-15 18:36:55 +01:00
Matthew Waters
dbeb6a911b [701/906] display: move context creation into window 2014-03-15 18:36:55 +01:00
Matthew Waters
5841abc5e4 [700/906] display: move most of the code into utils for sorting later
This contains a hack that essentially requires one GstGLDisplay
per process.
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
ba9e2213fc [697/906] display: allow the user to try and choose the GL api we use via env variable
GST_GL_API=opengl,opengl3,gles2,gles3
2014-03-15 18:36:55 +01:00
Matthew Waters
db3c98c688 [696/906] glapi: fix memory leak from not freeing a string 2014-03-15 18:36:55 +01:00
Matthew Waters
9adc3c8cf3 [695/906] build: remove libtool warning about -version-info not used in convenience libraries 2014-03-15 18:36:55 +01:00
Matthew Waters
52c31328e2 [693/906] x11_glx: ask for a 3.0 GL Context
(falling back if needed)
2014-03-15 18:36:55 +01:00
Matthew Waters
3af4ce25ff [692/906] window_x11: add XError trapping
some functions in GLX can fail if the implementation does not support
certain features we ask for (i.e. GL 3) bringing down the entire
application
2014-03-15 18:36:55 +01:00
Matthew Waters
7f2770af7c [691/906] feature: make gst_gl_check_extension public
prevents duplication of code of extension string parsing in GstGLWindow's
2014-03-15 18:36:55 +01:00
Matthew Waters
46decac44e [690/906] windowx11glx: use fbconfigs if supported 2014-03-15 18:36:55 +01:00
Matthew Waters
a9106ccce9 [688/906] display: properly shutdown if we error after context creation
The _finalize() code checks to see if the context was created before
attempting to destroy it.  We never did say that we had created the context.
2014-03-15 18:36:55 +01:00
Matthew Waters
6b41ea24e8 [685/906] filter: improve error handling 2014-03-15 18:36:54 +01:00
Matthew Waters
0551cfac70 [684/906] display: lack of format-string causing a compiler warning 2014-03-15 18:36:54 +01:00
Matthew Waters
59ea354253 [683/906] feature: remove double free 2014-03-15 18:36:54 +01:00
Matthew Waters
39e5b7c97f [681/906] win32: fix gl api calls on 32-bit
win has the bright idea of having 5 different calling conventions.
we should probably use the right one so we don't crash from stack
corruption.
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
d4fabed3e4 [678/906] window_win32_wgl: implement wglGetProcAddress for extension functions 2014-03-15 18:36:54 +01:00
Matthew Waters
74209b9e9e [677/906] memory: fix GSIZE printf format on win32 2014-03-15 18:36:54 +01:00
Matthew Waters
8b0b154d6e [676/906] windwo_win32: port to new API 2014-03-15 18:36:54 +01:00
Matthew Waters
7f69a236b9 [675/906] upload: provide nicer debugging 2014-03-15 18:36:54 +01:00
Matthew Waters
01e016d3f4 [674/906] feature: try and catch more GL extension functions
if we don't find the extension in core GL, try the extension version anyway
2014-03-15 18:36:54 +01:00
Matthew Waters
9e87a794dd [673/906] feature: add gstreamer license 2014-03-15 18:36:54 +01:00
Matthew Waters
6aac3abe72 [672/906] display: constify GstGLFuncs *gl 2014-03-15 18:36:54 +01:00
Matthew Waters
7f3aaf504b [671/906] win32: #include GL/glext.h on windows
also add some GL default variables if some GL types are not defined
2014-03-15 18:36:54 +01:00
Matthew Waters
ab0abf649f [670/906] display: replace glib deprecated api 2014-03-15 18:36:54 +01:00
Matthew Waters
9e8eb32080 [669/906] window: seperate object creation and context creation 2014-03-15 18:36:53 +01:00
Matthew Waters
8b59321a7e [668/906] shader: fix gles2 segfault 2014-03-15 18:36:53 +01:00
Matthew Waters
7fdc174bbb [658/906] mixer: fix eos timestamp check 2014-03-15 18:36:53 +01:00
Matthew Waters
3d75c3d5af [655/906] download: remove erronous ReadBuffer call
- it was causing segfaults in mesa
- we didn't set the readbuffer so we shouldn't reset it
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
6bee1ffdd3 [651/906] up/download: fix some typos when removing GLEW 2014-03-15 18:36:52 +01:00
Matthew Waters
a6504181a3 [650/906] filter: fix _draw_texture()'s wrong vertices 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
2f21abac2e [646/906] some gl header fixes/additions 2014-03-15 18:36:52 +01:00
Matthew Waters
fcfe6b90a9 [645/906] fix gles2 compilation 2014-03-15 18:36:52 +01:00
Matthew Waters
4f90cd8a64 [644/906] update .gitignore for some new files 2014-03-15 18:36:52 +01:00
Matthew Waters
f4ccde9bf1 [643/906] display: privatise most of the struct 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
4e60858f01 [641/906] display: feature check for GL extension functions 2014-03-15 18:36:52 +01:00
Matthew Waters
fa44030aa3 [640/906] build: add missing file to built sources 2014-03-15 18:36:52 +01:00
Matthew Waters
05d26c78e0 [639/906] add get_proc_address implementations for egl and glx 2014-03-15 18:36:52 +01:00
Matthew Waters
4afc9f01e0 [638/906] window: add get_proc_address + stub for retrieving gl functions 2014-03-15 18:36:52 +01:00
Matthew Waters
d993ab7e4f [637/906] x11_egl: add prelim support for choosing opengl or gles 2014-03-15 18:36:52 +01:00
Matthew Waters
809646505c [636/906] window_x11: compact debug info 2014-03-15 18:36:52 +01:00
Matthew Waters
41518af6f2 [635/906] fixup compile errors 2014-03-15 18:36:52 +01:00
Matthew Waters
88a85e7e3b [634/906] wayland egl: deactivate context before we destroy it
avoids a segfault with dri drivers
2014-03-15 18:36:51 +01:00
Matthew Waters
757618a986 [633/906] display: fail properly in context creation in order to minimize a race condition
previously, on context creation, when we failed to get a valid context
we would still atempt to run the window mainloop as well as setting an error
on the display. This would cause the calling element to finalize the display
and therefore attempt to quit the window mainloop.  However the mainloop
may not have started running.  Thus when the window mainloop ran it would
never a get a quit message and never end.
2014-03-15 18:36:51 +01:00
Matthew Waters
ca661a7719 [631/906] remove redefinition warnings in compiling tests 2014-03-15 18:36:51 +01:00
Matthew Waters
b11d8b8664 [630/906] display: add gl api checking
i.e. check for cases where the window wants a different API than
what the library was compiled with
2014-03-15 18:36:51 +01:00
Matthew Waters
76dfdd656f [629/906] window: add GError for error handling of context creation 2014-03-15 18:36:51 +01:00
Matthew Waters
86844030d6 [627/906] shader: check for invalid objects 2014-03-15 18:36:51 +01:00
Matthew Waters
df8c489ada [625/906] add vtable for opengl functions
The vtable provides the ability for one to compile (but not link)
against both OpenGL and GL|ES and starts the move away from GLEW
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
bbd3b4dbd9 [623/906] move GL includes into a single file 2014-03-15 18:36:51 +01:00
Matthew Waters
59131a0eba [622/906] add missing GL_STENCIL_ATTACHMENT for gles2 compatability 2014-03-15 18:36:51 +01:00
Matthew Waters
fd998dc0a5 [621/906] GstGLRendererAPI => GstGLAPI and get GstGLAPI from a window 2014-03-15 18:36:51 +01:00
Matthew Waters
46082f2c02 [620/906] wayland_egl: attempt at resizing the video 2014-03-15 18:36:51 +01:00
Matthew Waters
411a87fb0b [619/906] fix typo for win32 debug variables 2014-03-15 18:36:51 +01:00
Matthew Waters
4a07c73c0c [618/906] add wayland-egl window backend 2014-03-15 18:36:50 +01:00
Matthew Waters
e357b4aa13 [617/906] fix 'set but not used' compiler warnings 2014-03-15 18:36:50 +01:00
Matthew Waters
1679a0be7e [616/906] move window-specific code into seperate subfolders 2014-03-15 18:36:50 +01:00
Matthew Waters
7102b5b6ce [615/906] preliminary support for Win32 EGL 2014-03-15 18:36:50 +01:00
Matthew Waters
d7d1627229 [614/906] try GLX first when using ANY | OPENGL | OPENGL3 2014-03-15 18:36:50 +01:00
Matthew Waters
48ccfcc918 [613/906] window_cocoa: fix segfault with gst-launch-1.0 -e ... and sending SIGINT (Ctrl-C)
GNUstep has a signal handler for SIGINT which runs in the main thread.
However that thread has never been 'registered' with GNUstep so
the autorelease magic of objective-c causes a segfault from accessing
a null NSThread object somewhere deep in GNUstep.
2014-03-15 18:36:50 +01:00
Matthew Waters
c080c6c910 [612/906] remove GNUstep makefiles 2014-03-15 18:36:50 +01:00
Matthew Waters
6781fdbcff [611/906] cocoa port of determining gl platform at runtime 2014-03-15 18:36:50 +01:00
Matthew Waters
78d7965882 [610/906] WindowX11EGL: remove get_platform call 2014-03-15 18:36:50 +01:00
Matthew Waters
3cf1b078bc [609/906] win32 port of determining GL platform at runtime
- add GstGLWindowWin32 and GstGLWindowWin32WGL along the same lines as the
  X11 variants
2014-03-15 18:36:50 +01:00
Matthew Waters
e47b04c460 [608/906] add GST_GL_PLATFORM_ANY for choosing any platform 2014-03-15 18:36:50 +01:00
Matthew Waters
0c66b39861 [607/906] remove get_platform and get_window_handle vfuncs
- rename choose_visual() to choose_format() for later incorporating
  win32 changes and new GstGLPlatform for WGL, EGL, GLX, etc.
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
13ec239924 [605/906] shader: move to gst debugging 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
d01755fcc5 [601/906] fix typo causing shader compilation failure for uploading I420 2014-03-15 18:36:49 +01:00
Matthew Waters
12bf1cfa27 [600/906] docs: add docs for new objects and expand on some existing ones 2014-03-15 18:36:49 +01:00
Matthew Waters
11508f6f7a [599/906] GL|ES2: fix typos from recent changes and make downloading RGB formats work again 2014-03-15 18:36:49 +01:00
Matthew Waters
e969f6d904 [594/906] filter: update for up/download API changes and scaling fixes 2014-03-15 18:36:49 +01:00
Matthew Waters
fad1b94c41 [592/906] memory: update for up/download API changes 2014-03-15 18:36:49 +01:00
Matthew Waters
9086b0c870 [591/906] mixer: save the upload object instead of querying for it every frame 2014-03-15 18:36:49 +01:00
Matthew Waters
4716682c55 [590/906] up/download: fix scaling on transfer
i.e. uploading from a 10x10 video frame to a 20x20 texture into another 30x30 videoframe
2014-03-15 18:36:49 +01:00
Matthew Waters
4cbefd4f09 [587/906] mixer: mirror the changes done for filter 2014-03-15 18:36:49 +01:00
Matthew Waters
28863c4bb4 [586/906] fix up some debug statements to get them into the right categories 2014-03-15 18:36:49 +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
e89266b664 [581/906] filter: add seperate filter function for operating on textures instead of buffers 2014-03-15 18:36:48 +01:00
Matthew Waters
558e10be0f [580/906] bufferpool: remove obselete gl meta buffer pool options 2014-03-15 18:36:48 +01:00
Matthew Waters
cfafeea297 [579/906] download: fix YV12 format
same as I420 but plane 1+2 swapped
2014-03-15 18:36:48 +01:00
Matthew Waters
5aa048e53b [578/906] {up,down}load: add variants that can be called in the gl thread 2014-03-15 18:36:48 +01:00
Matthew Waters
8f4c270ae1 [576/906] remove uneeded GstGLMeta (use GstVideoMeta) 2014-03-15 18:36:48 +01:00
Matthew Waters
fa9a4d6862 [575/906] filter: port to new upload/download 2014-03-15 18:36:48 +01:00
Matthew Waters
5d1395f435 [574/906] memory: implement transperent upload/download for data
(not async yet)
2014-03-15 18:36:48 +01:00
Matthew Waters
88cb7e3060 [573/906] add upload and download library objects
allows multiple upload pipelines that previously wasn't possible
 (i.e. upload RGB and I420 and ... on the same GstGLDisplay)
2014-03-15 18:36:48 +01:00
Matthew Waters
aebcacecf8 [571/906] mixer: fix deadlock on shutdown
didn't reiterate over the sinkpad's displays and reactivate them causing a deadlock
2014-03-15 18:36:48 +01:00
Matthew
ed1f04acab [568/906] window: fix public definitions 2014-03-15 18:36:47 +01:00
Matthew
20406c1de3 [567/906] fix OpenGL|ES2 ifdef'ed code 2014-03-15 18:36:47 +01:00
Matthew Waters
863f21b1f6 [564/906] glmemory: remove unused typedef 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
6de0b127d7 [562/906] gldisplay: fix download of YUV formats 2014-03-15 18:36:47 +01:00
Matthew Waters
7627755581 [561/906] gldisplay: fix endianess issues on RGB download 2014-03-15 18:36:47 +01:00
Matthew Waters
de25a454ce [559/906] glmixer: pass the mixpad's display to the querying element 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
0ef8174881 [554/906] GstGLMemory: update for GstAllocator API changes 2014-03-15 18:36:47 +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
972cd421c7 [543/906] GstGLDisplay: fix segfault from GST_PTR_FORMAT trying to expand the object 2014-03-15 18:36:46 +01:00
Matthew Waters
fe1ce6a7ff [542/906] GstGLMixer: add allocation and bufferpool methods
based off GstBaseTransform
2014-03-15 18:36:46 +01:00
Matthew Waters
a44326f86e [532/906] GstGLFilter: implement allocation vfuncs 2014-03-15 18:36:45 +01:00
Matthew Waters
ec782a5f27 [528/906] GstGLMeta: seperate upload/download/normal GL caps video formats
differentiate between upload, download and GL caps
2014-03-15 18:36:45 +01:00
Matthew Waters
796d326b74 [527/906] GstGLDisplay: add some trace debugging 2014-03-15 18:36:45 +01:00
Matthew Waters
0e5daa29f7 [524/906] GstGLDisplay: rework the download code
data paramaters now take GstVideoFrame
remove redundant parameters
2014-03-15 18:36:45 +01:00
Matthew Waters
1ec68db8f0 [522/906] GstGLDisplay: add forgotten function definition 2014-03-15 18:36:45 +01:00
Matthew Waters
2141571de9 [521/906] GstGLMemory: update for GstAllocator changes 2014-03-15 18:36:45 +01:00
Matthew Waters
3ff83c0f37 [520/906] GstGLMixer: fix for GstChildProxy changes 2014-03-15 18:36:45 +01:00
Matthew Waters
69997e311f [517/906] add GstGLBufferPool
which adds GstGLMeta to buffers
2014-03-15 18:36:45 +01:00
Matthew Waters
53dddca0f6 [516/906] add skeleton GstGLMeta
the GstVideoMeta _map/unmap functions still need implementing
2014-03-15 18:36:44 +01:00
Matthew Waters
369905e5bd [515/906] GstGLDisplay: rework gen_texture and upload
rename functions so that other code can create textures in the GL thread
change upload functions to take a GstVideoFrame
default to GLSL for upload conversion
2014-03-15 18:36:44 +01:00
Matthew Waters
1331611094 [514/906] add GstGLMemory and allocator
implement custom GstMemory for GL textures
currently map/unmap returns NULL although it might be favourable to upload/download/cache the image data
2014-03-15 18:36:44 +01:00
Matthew Waters
71c6aae707 [513/906] Remove GstGLBuffer (to be replaced by GstGLMeta) 2014-03-15 18:36:44 +01:00
Matthew Waters
e07dd2908e [512/906] GstGLMixer: update for 1.0 based on the videomixer2 element in -good 2014-03-15 18:36:44 +01:00
Matthew Waters
528816def4 [509/906] GstGLDisplay: update for 1.0 2014-03-15 18:36:44 +01:00
Matthew Waters
4611fd3301 [504/906] GstGLFilter: update for 1.0
-fix up function definitions
-remove _prepare_output_buffer (functionality taken over by GstBufferPool).
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
Raimo Järvi
fa18db91ed [501/906] Fix building on 64 bit mingw-w64
https://bugzilla.gnome.org/show_bug.cgi?id=676428
2014-03-15 18:36:44 +01:00
Julien Isorce
cb77b00501 [500/906] gldisplay: do not call glCheckFramebufferStatus if 0 is bound
Indeed it may return GL_FRAMEBUFFER_UNDEFINED if there is no
default framebuffer.
It seems to be the case 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
5d752d6422 [497/906] filtershader: fix format compiler warnings 2014-03-15 18:36:43 +01:00
Julien Isorce
a1649a497a [495/906] glES2.0: properly use glDeleteShader 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
Julien Isorce
201d3992d2 [492/906] glwindow: properly fails if resource not found 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
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
Julien Isorce
6f1530c658 [486/906] libvisual-gl: add minimal support to libvisual plugins that uses Framebuffer objects
Fix bug #310775

gst-launch audiotestsrc ! libvisual_gl_projectM ! glimagesink is working
but for now you cannot append any other opengl filters between
libvisual_gl_projectM and glimagesink because our FBO is turned OFF.

It would require that libvisual allows to split rendering between
pass1,2,3... and final rendering. In order to unbind our FBO before
the passN, and then rebind it just before the final libvisual rendering.
2014-03-15 18:36:43 +01:00
Julien Isorce
06d73faac4 [485/906] gstgldisplay: turn off texture binding and read buffer when downloading rgb is done
It fixes: (black image before)
gst-launch-0.10 audiotestsrc ! libvisual_gl_lv_gltest ! gldownload ! ximagesink
and
gst-launch-0.10  audiotestsrc ! libvisual_gl_lv_gltest ! gldownload ! glimagesink
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
Руслан Ижбулатов
e44c1040fe [479/906] gstglshadervariables: strtok_r is not multiplatform
Fix bug #664367
2014-03-15 18:36:42 +01:00
Wei Feng
2509eab48b [478/906] OpenGL ES 2.0: include glib.h to use G_BEGIN_DECLS in gstgles2.h
Fix bug #631019
2014-03-15 18:36:42 +01:00
Julien Isorce
591b4282ed [477/906] OpenGL ES 2.0: fix build since glfiltershader changes 2014-03-15 18:36:42 +01:00
Antoni Silvestre
b640cbc542 [476/906] OpenGL ES 2.0: fix build and disable some examples
Fix bug #631019
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
Julien Isorce
d21aaa22bf [467/906] tests: various build fixes
- cmake could not find glib
 - put gtk variables at the beginning to avoid GL conflicts
 - update examples to clutter-1.8
 - use const instead of deprecated G_CONST_RETURN
 - set max pending events to 0 to make cube example works again
2014-03-15 18:36:42 +01:00
Tim-Philipp Müller
0cefeead18 [463/906] Add some more G_{BEGIN,END}_DECLS to public headers
https://bugzilla.gnome.org/show_bug.cgi?id=637260
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
Jan Schmidt
f9c64dfdea [459/906] Fix distcheck. 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
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
Julien Isorce
b0352753d4 [432/906] GstGLDisplay: this is GL_DEPTH24_STENCIL8_EXT, not GL_DEPTH24_STENCIL8_EXT 2014-03-15 18:36:40 +01:00
Pierre Pouzol
2beb8aa729 [431/906] GstGLDisplay: enable stencil buffer when using framebuffer objects.
Fixes Bug #612159
2014-03-15 18:36:40 +01:00
Nicholas Panayis
e6195bf5a3 [415/906] gstglwindow_win32: share opengl context in correct order
Allow to use the opengl context sharing feature if the original
context has been used already.
This is only possible on win32 with wglShareLists because on other
backends, the sharing is made when a context is created.
This new feature is only usefull when using external context
because gst-gl internally makes sure that the orginal context is not
already used when sharing it.

Fix bug #611067
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
1ae95c42de [411/906] gstglmixer: copy/past recent changes from gstvideomixer 2014-03-15 18:36:38 +01:00
Julien Isorce
e356b7d1ed [410/906] gstglmixer: inactivate shared gl context before to release ours
First, inactivate shared gl contexts known by each sink pad.
Then, destroy the gl context known by the glmixer.
Finally, re-activate shared gl contexts.
This is to satisfy the fact that no shared gl context must be current
when an opengl context is destroyed.
Moreover the application may hang or crash without those steps.
2014-03-15 18:36:38 +01:00
Julien Isorce
9e22a5e0e6 [407/906] winCE backend: fix build 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
a6a5ee2839 [405/906] glfilter: add external-opengl-context property
It repairs the cluttershare and sdlshare example
2014-03-15 18:36:38 +01:00
Jan Schmidt
d9c6eaf72f [403/906] gstglmixer: Initialise the debug category
Initialise the gstglmixer debug category before using it.
2014-03-15 18:36:38 +01:00
Julien Isorce
32e401427f [400/906] gstgldisplay: no need the I420 work around if ATI Mobility
fix #588653
2014-03-15 18:36:38 +01:00
Julien Isorce
48575c93ec [399/906] glmixer: fix when no more gl elements after it
For example:
videotestsrc ! glupload ! ... ! glfiter ! ... ! glmosaic ! fakesink
Usefull when using glmixer inside cluttershare or sdlshare cases.
2014-03-15 18:36:38 +01:00
Pratheesh Gangadhar
34c5e17187 [394/906] gstgldisplay: use of GL_DEPTH_COMPONENT16 if OpenGL ES 2.0
glRenderbufferStorage does not accept GL_DEPTH_COMPONENT in
OpenGL ES 2.0.

Fix bug #593786
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
954b3a52c8 [391/906] Cocoa: fix backend since recent changes
Before, the window size was given at its creation. Now, it's done at
the drawing step because it's only relevant when there is a glimagesink
element in the pipeline.
2014-03-15 18:36:37 +01:00
Julien Isorce
62f961a28e [389/906] fix codeblocks build on win32 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
Stefan Kost
3b0a88850d [384/906] build: use <stdio.h> / "stdio.h" 2014-03-15 18:36:37 +01:00
Stefan Kost
252b406547 [383/906] build: include <stdio.h> when using printf & co. 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
Julien Isorce
c2c15214a8 [381/906] EGL and GLX:: set a minimum depth size 2014-03-15 18:36:37 +01:00
Julien Isorce
30631c4626 [378/906] gldisplay: avoid to request gl thread when deleting a texture
A texture is not destroyed when when we are done with it.
This texture is just added to the texture pool in order to be
re-used. In this case no OpenGL code is executed so we do not need to
request gl thread.
2014-03-15 18:36:36 +01:00
Julien Isorce
192bf749ea [377/906] gldisplay: avoid to request gl thread when generating a texture
Thanks to the texture pool the gl textures are re-used.
When re-using one, no opengl code is executed so do not need
to request gl thread.
2014-03-15 18:36:36 +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
Julien Isorce
d9c055246f [369/906] define missing glew macro on older versions 2014-03-15 18:36:36 +01:00
Julien Isorce
3107266d81 [368/906] Cocoa backend: fix crash when resizing
Default implementation of NSOpenglView::update is not safe because it
just calls update on the opengl context whereas we are not in the gl thread.
Also fix the white flickering when resizing, because now we need to call
the draw callback manually when resizing.
2014-03-15 18:36:36 +01:00
Julien Isorce
ca891db2a6 [365/906] Cocoa backend: make sure that nsapp is initialized
gst-launch-0.10 videotestsrc ! tee name=t ! queue ! glimagesink t. ! queue ! glimagesink
now works properly on MacOSX
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
Julien Isorce
89fe233c52 [363/906] Cocoa backend: fix crash when closing
- All gstglwindow members are now modified only in the gl thread
to avoid thread concurrency
- OpenGL context is now properly clean
- fix a couple of things in implementation of xoverlay interface
2014-03-15 18:36:36 +01:00
Julien Isorce
a9ab2abea4 [362/906] make cocoa backend work on MacOSX
It works with both gst-launch and a cocoa app (non-embedded and embedded)
But there is still some problems:
  - sometimes crash when closing
  - flickering when resizing
  - embedded mode not perfect

I will first make the CMake build work with cocoa backend
in order to generate a XCode project.
Then it should be easier to fix those issues.
2014-03-15 18:36:36 +01:00
Jan Schmidt
1a070f378b [358/906] gstgldisplay: Close a small race starting the display thread
Take the display lock before signalling the create-context cond
to ensure the caller has dropped the lock and is therefore listening
for the signal.
2014-03-15 18:36:35 +01:00
Jan Schmidt
b1dccdb13c [357/906] x11: Don't crash when the X11 display is not available.
Error out cleanly instead of crashing when the X11 display can't
be contacted.
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
ae4f96ec93 [350/906] fix window position when using xoverlay
x, y are the coordinates of the position inside
the new parent window.

Fixes #584877
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
d1893e0e7e [347/906] fix miscast of a pointer in SetWindowLongPtr
GCC 4.4.0 complains error: cast from pointer to integer of different size
Fixes #584678.
2014-03-15 18:36:35 +01:00
Sebastian Dröge
64e59060e2 [346/906] Fix linking by providing libtool the correct --tag parameter 2014-03-15 18:36:35 +01:00
Julien Isorce
58e392f129 [337/906] Improve cluttershare example
Use clutter_threads_API.
When just using glupload from rgb, we have to be sure that
the upload texture is not in use in our gst gl context.
2014-03-15 18:36:34 +01:00
Julien Isorce
d0d5eb1f22 [336/906] [x11/x11ES] fix some pointer cast warnings 2014-03-15 18:36:34 +01:00
Julien Isorce
fe24b86d8a [335/906] [cocoa] update since interface changed 2014-03-15 18:36:34 +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
David Schleef
b47fc234ef [329/906] Build for Cocoa on darwin, with various fixes 2014-03-15 18:36:34 +01:00
Julien
bf0b1fa1ab [327/906] fix init FBO's texture attachment on ES 2.0 2014-03-15 18:36:34 +01:00
Julien
bb0781a389 [326/906] add X backend for OpenGL ES 2.0 2014-03-15 18:36:34 +01:00
Julien Isorce
1385371e6c [322/906] [download YUY2/UYVY] fix a regression
The call to glLoadIdentity was removed by mistake during
OpenGL ES 2.0 integration.
2014-03-15 18:36:33 +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
37b29ac10c [320/906] fix position and content rect 2014-03-15 18:36:33 +01:00
Julien Isorce
b5778a90d7 [319/906] [win32 backend] fix transmition message to the parent.
The Qt mouvexoverlay example shows how to rotate the cube
by moving (+click) the mouve over a qwidget using xoverlay
interface.
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
b2143adee3 [315/906] add GNUstep build 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
Sebastian Dröge
3fbd8bbd24 [309/906] Replay: Fix callbacks passed over XEvents on 64 bit architectures
Althought the XEvent's xclient.data.l array is an array of
longs they will be constrained to 32 bit by the X11 protocol.
On 64 bit architectures use two elements of the array to store
one pointer.
This fixes segfaults that happen at least for every example
on startup.
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
92e733dce0 [304/906] only load RGBA files.png 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
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
David Schleef
5a82aee272 [297/906] Revert "Fix callbacks passed over XEvents on 64 bit architectures"
This reverts commit 280771d09b58617b27201027de0e1194da376e72.
2014-03-15 18:36:32 +01:00
Sebastian Dröge
1b531037c5 [296/906] Fix callbacks passed over XEvents on 64 bit architectures
Althought the XEvent's xclient.data.l array is an array of
longs they will be constrained to 32 bit by the X11 protocol.
On 64 bit architectures use two elements of the array to store
one pointer.
This fixes segfaults that happen at least for every example
on startup.
2014-03-15 18:36:32 +01:00
Sebastian Dröge
369b1d4ff2 [295/906] Fix indention 2014-03-15 18:36:32 +01:00
Sebastian Dröge
59c3f33743 [294/906] Fix format string compiler warnings by using G_GUINT64_FORMAT 2014-03-15 18:36:32 +01:00
David Schleef
b15277ba0b [291/906] Add check for GLEW_EXT_framebuffer_object 2014-03-15 18:36:31 +01:00
David Schleef
caccdc1ee8 [290/906] Set GL_LIBS correctly in configure.ac
This doesn't detect the existence of libraries, which needs to
be fixed.
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
e141366934 [288/906] add more debug ouputs about GLSL and mesa 2014-03-15 18:36:31 +01:00
julien
0e45b730e8 [287/906] fix a regression about glXChooseVisual which failed when using mesa, so attributes must be less restrictives. 2014-03-15 18:36:31 +01:00
Julien Isorce
7975cac1ea [286/906] [win32] Register window class in gst_gl_window_class_init 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
0d2c7b20fd [284/906] workaround about the ATI shader compiler on linux (setlocale) 2014-03-15 18:36:31 +01:00
Julien Isorce
98acd38039 [283/906] better result in cube and doublecube example. And some clean up debug and comments 2014-03-15 18:36:31 +01:00
Julien Isorce
0ada2fab05 [282/906] update CMake build 2014-03-15 18:36:31 +01:00
Julien Isorce
1fbc72393c [281/906] Make cube example work on x11. Finish TODO task 9. 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
34e4a534e2 [279/906] finish set_xwindow_id (gst_gl_window_set_external_win_id): child is resized at the same time as the parent is. 2014-03-15 18:36:31 +01:00
Julien Isorce
a8105b91a6 [278/906] Implement set_xwindow_id (gst_gl_window_set_external_window_id). 2014-03-15 18:36:31 +01:00
Julien Isorce
ed96a2f5ad [277/906] open x client connection for sender only at start up 2014-03-15 18:36:31 +01:00
Julien Isorce
4a2f97e4e5 [276/906] better deal with last pending custom cb and destroy_context_cb 2014-03-15 18:36:31 +01:00
Julien Isorce
3dd5eb98e6 [275/906] Make sure the gl ressoures are destroyed before to destroy gl window 2014-03-15 18:36:30 +01:00
Julien Isorce
f2c3f8baa3 [274/906] add some other debug outputs and checks 2014-03-15 18:36:30 +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
4ffac649e9 [272/906] add a visible member to deal better with the first expose events 2014-03-15 18:36:30 +01:00
Julien Isorce
968e1dabb3 [271/906] revert last commit because the crash comes from libselinux 2014-03-15 18:36:30 +01:00
Julien Isorce
8e4c8b2c45 [270/906] fix use of different Display structures which point on the same display name 2014-03-15 18:36:30 +01:00
Julien Isorce
e7c8f724e1 [269/906] Better deal with XNextEvent and XSendEvent 2014-03-15 18:36:30 +01:00
Julien Isorce
6eb98ba7ad [268/906] Better deal with Atoms 2014-03-15 18:36:30 +01:00
Julien Isorce
3b0a4180c1 [267/906] Get ride of calling sleep in gl thread X loop 2014-03-15 18:36:30 +01:00
Julien Isorce
1a6b2ce780 [266/906] secure close when clicking on the cross 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
d7b959a1e4 [263/906] discard x custom messages which are of date 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
c683760189 [261/906] implement quit x message loop 2014-03-15 18:36:30 +01:00
Julien Isorce
bc1d62d089 [260/906] try to make XSendEvent blocker (as win32 SendMessage is) 2014-03-15 18:36:30 +01:00
Julien Isorce
714054a647 [259/906] continue x implementation (but still not tested) 2014-03-15 18:36:30 +01:00
Julien Isorce
a07ce6dbb3 [258/906] setup x message loop 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
fbdf2deda0 [256/906] fix CMake an CodeBlocks builds 2014-03-15 18:36:29 +01:00
Julien Isorce
9be9daa754 [255/906] fix window closure when using gst xoverlay interface 2014-03-15 18:36:29 +01:00
Julien Isorce
3f4aa11d82 [254/906] Better handle when the parent window is resizing, and cleanup some code 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
5a84fd49a9 [252/906] avoid a dead lock on window closure 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
c330210648 [250/906] win32: basic stuffs are working now on this branch with this new deep design (gstglwindow) 2014-03-15 18:36:29 +01:00
Julien Isorce
42255b64aa [249/906] begin GstGLWindow in order to totally remove gstfreeglut 2014-03-15 18:36:29 +01:00
Filippo Argiolas
8599642d37 [243/906] Support for missing videoformats in glupload
Add support for missing alpha channeled videoformats (RGBA, BGRA,
ARGB, ABGR) in gst_gl_display_do_upload_fill.
2014-03-15 18:36:29 +01:00
Julien Isorce
353a06d9a0 [242/906] Fix crash in filters when going to NULL with no display 2014-03-15 18:36:29 +01:00
Filippo Argiolas
f14db54179 [233/906] no need to explicit set the debug category if default one is used 2014-03-15 18:36:28 +01:00
Filippo Argiolas
41e5676c47 [230/906] explicit check g_getenv return value to be not NULL 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
30b33ab63f [228/906] output shaders info log only if GST_GL_SHADER_DEBUG env variable is set. Should fix TODO task 18 2014-03-15 18:36:28 +01:00
Julien Isorce
e8abbdaaa7 [226/906] check on win32 that every tests/pipelines and tests/examples (generic, gtk, qt) still work 2014-03-15 18:36:28 +01:00
Julien Isorce
de5ba4b7f2 [225/906] fix a regression that made the gltestsrc element not working 2014-03-15 18:36:28 +01:00
Julien Isorce
9b18be0019 [224/906] fix a regression about MESA YCbCr colorspace conversion 2014-03-15 18:36:28 +01:00
Julien Isorce
51cdfc6682 [223/906] fix a regression (sometimes a FBO is needed even if the video source is rgb) 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
6ad3704c30 [221/906] fix g_int_hash -> g_direct_hash 2014-03-15 18:36:27 +01:00
Julien Isorce
a9c118c148 [220/906] Use a better key for the pool of textures 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 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
Julien Isorce
e7f1a18965 [211/906] Fix upload AYUV and YV12 (a regression in last commits) 2014-03-15 18:36:27 +01:00
julien User
450dd45a6e [210/906] get ride of a wrong color on nvidia/linux when converting yv12 to rgb through GLSL 2014-03-15 18:36:27 +01:00
julien User
ff67654533 [209/906] fix warnings 2014-03-15 18:36:27 +01:00
Julien Isorce
38dc928a7e [208/906] fix upload AYUV, regression during the 2 last commits 2014-03-15 18:36:27 +01:00
Julien Isorce
dc96363485 [207/906] oups, fix my mistake on last commit 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
Julien Isorce
b1007f02cb [205/906] use a GHash table instead of a GData for the texture pool 2014-03-15 18:36:26 +01:00
Julien Isorce
bf17388f63 [204/906] get ride of a bug on ATI related to YV12 to rgb conversion through GLSL and add an example 2014-03-15 18:36:26 +01:00
Filippo Argiolas
9a25ffce4c [201/906] fix a signedness warning 2014-03-15 18:36:26 +01:00
Julien Isorce
6c532328f0 [200/906] get ride of a ATI bug related to GLSL colorspace conversion for I420 and YV12 to rgb 2014-03-15 18:36:26 +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
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
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
Filippo Argiolas
02a21f80ab [152/906] remove an unneeded (really?) glTexImage 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
Filippo Argiolas
a8552d4795 [149/906] same as previous commit 2014-03-15 18:36:23 +01:00
Filippo Argiolas
9f4d1de046 [148/906] Fix rgb issue. Current program should always be set to 0 when a new texture is attached to a fbo. 2014-03-15 18:36:23 +01:00
Julien Isorce
d6ef47cd9c [146/906] remove filteredge 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
Filippo Argiolas
a53754cc28 [140/906] Fix GL_STACK_OVERFLOW 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
Filippo Argiolas
df427d2681 [138/906] is that videoformat pointer really needed? 2014-03-15 18:36:23 +01:00
Filippo Argiolas
570b7f2005 [137/906] Don't reallocate texture memory every time in upload_* functions. 2014-03-15 18:36:23 +01:00
Filippo Argiolas
8c9cb5939e [136/906] reindent gstgldisplay with gstreamer-c-mode 2014-03-15 18:36:23 +01:00
Julien Isorce
21be1c07de [133/906] finish todo task 4 2014-03-15 18:36:22 +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
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
David Schleef
50b8417097 [125/906] Add libraries as appropriate to fix compilation 2014-03-15 18:36:22 +01:00
Julien Isorce
af16a51ee2 [123/906] X Specific: better implementation of the gst_gl_set_window_id
git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@584 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2014-03-15 18:36:22 +01:00
Julien Isorce
bfd8d294b4 [122/906] better implementation of gst_gl_display_set_window_id for win32. (change the window of the current wglcontext instead of reinit everything, and so avoid some problems about opengl objects that could be init in the previous wglcontext and so no usable in the newer wglcontext, it what the case for the first texture) This newer implementation has not been made yet on linux
git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@582 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2014-03-15 18:36:22 +01:00
Julien Isorce
f2ea87e951 [121/906] avoid use of GLSL functions when fragment_shader is not available
git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@581 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2014-03-15 18:36:22 +01:00
Julien Isorce
3505ae339c [120/906] git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@580 93df14bb-0f41-7a43-8087-d3e2a2f0e464 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
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
faf7dcbc6d [111/906] up
git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@548 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
04946b3f1d [107/906] fix opengl version checker
git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@534 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
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
1a7b6d5bb3 [095/906] up
git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@507 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2014-03-15 18:36:20 +01:00
Julien Isorce
63dfe24588 [094/906] up
git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@506 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
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
e1c1317087 [086/906] up
git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@498 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
05f98c7346 [080/906] fix gstfreeglut linux implementation to correctly handle the gstxoverlay interface
git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@486 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2014-03-15 18:36:19 +01:00
Julien Isorce
18020765cb [079/906] up
git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@478 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2014-03-15 18:36:19 +01:00
Julien Isorce
56370703e5 [077/906] up
git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@475 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2014-03-15 18:36:19 +01:00
Julien Isorce
1de711496b [076/906] check OpenGL and Glew versions
git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@474 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
607548be2d [074/906] up
git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@446 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2014-03-15 18:36:19 +01:00
Julien Isorce
4759f9847a [073/906] up
git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@445 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2014-03-15 18:36:19 +01:00
Julien Isorce
19c124d258 [072/906] up
git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@438 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2014-03-15 18:36:19 +01:00
Julien Isorce
8e3e42b9f7 [071/906] remove all warnings
git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@437 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
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
4511a3c0bd [065/906] up
git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@428 93df14bb-0f41-7a43-8087-d3e2a2f0e464
2014-03-15 18:36:19 +01:00
Julien Isorce
50a08f10b3 [063/906] up
git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@423 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
1d59ab7b37 [060/906] * gst-libs/gst/gl/gstglbuffer.c: (gst_gl_buffer_format_from_video_format): Fix compiler warning if there are video format enums gstglbuffer doesn't know about yet. * gst-libs/gst/gl/gstgldisplay.c: (gst_gl_display_upload_texture_rectangle), (gst_gl_display_draw_texture): Fix printf format for 64-bit integers. 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
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
3308a6e8c6 [053/906] Add project infrastructure. Not complete, doesn't work. * .cvsignore: * AUTHORS: * COPYING: * COPYING.LIB: * INSTALL: * Makefile.am: * NEWS: * README: * RELEASE: * REQUIREMENTS: * autogen.sh: * configure.ac: * docs/.cvsignore: * docs/Makefile.am: * docs/libs/Makefile.am: * docs/plugins/Makefile.am: * docs/version.entities.in: * ext/Makefile.am: * gst-libs/Makefile.am: * gst-libs/gst/Makefile.am: * gst-libs/gst/gl/Makefile.am: * gst-plugins-gl.doap: * gst-plugins-gl.spec.in: * gst/Makefile.am: * m4/.cvsignore: * m4/Makefile.am: * pkgconfig/.cvsignore: * pkgconfig/Makefile.am: * pkgconfig/gstreamer-plugins-gl-uninstalled.pc.in: * pkgconfig/gstreamer-plugins-gl.pc.in: * sys/Makefile.am: * tests/Makefile.am: * tests/check/Makefile.am: * tests/examples/Makefile.am: * tests/icles/Makefile.am: * tools/Makefile.am: * win32/common/config.h.in: 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
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
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
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
Stefan Ringel
fd8bda1c03 dvbsrc: mpegts: change bandwidth to DVBv5 values
Signed-off-by: Stefan Ringel <linuxtv@stefanringel.de>

https://bugzilla.gnome.org/show_bug.cgi?id=725463
2014-03-15 18:33:18 +01:00
Sebastian Dröge
dbb42d914f uridownloader: Fix string order in warning message 2014-03-13 14:41:06 +01:00
Sebastian Dröge
73b188cfb9 uridownload: Handle no buffers before EOS as error instead of crashing 2014-03-07 16:24:18 +01:00
Sebastian Dröge
cd02546089 hlsdemux: Implement handling of byte ranges 2014-03-06 16:36:10 +01:00
Sebastian Dröge
6fb3427729 uridownloader: Fix debug output to describe the new reality 2014-02-27 12:02:19 +01:00
Sebastian Dröge
3fd5b74f73 uridownloader: Warning messages are not fatal
Also they need to be parsed with gst_message_parse_warning(),
gst_message_parse_error() does not work on them.
2014-02-27 11:53:51 +01:00
Stefan Ringel
40e7bfd35d docs: mpegts: add missed docs
Signed-off-by: Stefan Ringel <linuxtv@stefanringel.de>

https://bugzilla.gnome.org/show_bug.cgi?id=725278
2014-02-27 08:48:17 +01:00
Julien Isorce
966fb81db0 eglglessink: move GstEGLImageBufferPool to gstegl lib
https://bugzilla.gnome.org/show_bug.cgi?id=706054
2014-02-25 17:29:18 +00:00
Jesper Larsen
a9b1fdd948 mpegts: Add constructor for dvb service descriptor
https://bugzilla.gnome.org/show_bug.cgi?id=724981
2014-02-25 14:34:29 +01:00
Jesper Larsen
d43e7173d8 mpegts: Add support for creation of SDT
https://bugzilla.gnome.org/show_bug.cgi?id=724981
2014-02-25 14:34:29 +01:00
Jesper Larsen
3fe1608e83 mpegts: Add transport_stream_id to GstMpegTsSDT
The transport_stream_id is contained in the subtable extension.
Introduce a variable for readability.

https://bugzilla.gnome.org/show_bug.cgi?id=724981
2014-02-25 14:34:29 +01:00
Edward Hervey
63145f4576 mpegts: Fix descriptor checks
Only use g_return_val_if_fail on provided direct arguments. The others get
checked all the time.

https://bugzilla.gnome.org/show_bug.cgi?id=724464
2014-02-25 10:19:23 +01:00
Jesper Larsen
e28b6fd523 mpegts: network_name: Check converted length
Check the length of the name argument after it has been converted.

https://bugzilla.gnome.org/show_bug.cgi?id=723953
2014-02-24 16:01:11 +01:00
Brendan Long
cd3c3ebf01 mpegts: Add gst_mpegts_section_get_data, to allow us to get the original binary section data.
https://bugzilla.gnome.org/show_bug.cgi?id=724255
2014-02-20 19:19:03 +01:00
Edward Hervey
142233d917 mpegts: Add size guards for descriptors where neeeded
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=724464
2014-02-20 19:08:33 +01:00
Edward Hervey
4190a1717a mpeg-ts: Rename private function
Calling it _desc_checks when it was in fact used for sections was a
tad confusing ...
2014-02-20 18:14:51 +01:00
Stefan Ringel
beb31d127b mpegts: Add support for content descriptor
https://bugzilla.gnome.org/show_bug.cgi?id=724034
2014-02-17 08:55:37 +01:00
Stefan Ringel
792fc1cf01 mpegts: Add support for component descriptor
https://bugzilla.gnome.org/show_bug.cgi?id=724034
2014-02-17 08:55:12 +01:00
Stefan Ringel
347ac5fbd7 mpegts: Add support for extended event desriptor
https://bugzilla.gnome.org/show_bug.cgi?id=724034
2014-02-17 08:54:37 +01:00
Stefan Ringel
e6cb996cea mpegts: Add support for DVB terrestrial delivery system descriptor
https://bugzilla.gnome.org/show_bug.cgi?id=724069
2014-02-16 10:13:53 +01:00
Sebastian Dröge
a1d9f6c796 uridownloader: Keep alive connections if the source supports that 2014-02-13 10:44:58 +01:00
Sebastian Dröge
c76ea2919f uridownloader: Re-use old source element if possible
Allows to implement keep-alive handling in the source element.
2014-02-13 10:06:48 +01:00
Sebastian Dröge
d436844434 uridownloader: Fix potential deadlock
The streaming thread might use our lock, so shutting
down the element while holding that lock calls for problems.
2014-02-12 18:06:43 +01:00
Sebastian Dröge
8cd6208b7d uridownloader: Shutdown the source element before unlinking it
Otherwise we might get warnings about pushing to unlinked pads.

Based on a patch by Andoni Morales.
2014-02-12 18:01:10 +01:00
Sebastian Dröge
2a38c1409b uridownloader: Add support for compressed downloads
Very useful for playlists, less useful for media files.
2014-02-12 13:08:29 +01:00
Sebastian Dröge
3726c00b95 uridownloader: Reset cancelled state after fetching an URI
Otherwise it will never ever be able to fetch anything after an
error until the user resets it manually.
2014-02-11 15:26:01 +01:00
Sebastian Dröge
d445374067 uridownloader: Provide some more details about errors if downloading fails 2014-02-11 14:13:30 +01:00
Jesper Larsen
603714a405 mpegts: pmt: Detect descriptor length correct 2014-02-08 18:41:06 +01:00
Jesper Larsen
f1c8de4bc2 mpegts: Correctly check for PAT,PMT,CAT,TSDT 2014-02-08 18:38:55 +01:00
Jesper Larsen
972f7ea71f mpegts: Fix some packetizing bugs
- Length of NIT stream descriptors was not detected correct
- Reserved bits was not set according to EN 300 468, ISO/IEC 13818-1
- Also set output data size if the section was previously packetized

https://bugzilla.gnome.org/show_bug.cgi?id=723892
2014-02-08 16:59:47 +01:00
Edward Hervey
042c8924b6 dvb-descriptor: Remove unneeded increment 2014-02-07 11:53:38 +01:00
Edward Hervey
63348811d2 dvb-descriptor: Fix comparision
we want to stop if one OR the other is NULL.
2014-02-07 11:53:28 +01:00
Jesper Larsen
dc968163da mpegts: Updated docs with new API 2014-02-06 16:01:35 +01:00
Jesper Larsen
b7d256b4c2 mpegts: Support registration and custom descriptor
Support for registration descriptor (0x05)
Add function to create a descriptor with custom tag and data
2014-02-06 15:55:46 +01:00
Jesper Larsen
05bf952384 mpegts: Add creation of DVB Subtitling descriptor
Descriptor tag is 0x59
2014-02-06 15:55:40 +01:00
Jesper Larsen
cfb4da7215 mpegts: Support parsing of DVB Teletext descriptor
Descriptor tag is 0x56
2014-02-06 15:50:34 +01:00
Jesper Larsen
ffb51c2123 mpegts: Add support for creating PAT/PMT 2014-02-06 15:50:28 +01:00
Jesper Larsen
fccfc76805 mpegts: Add program_number to GstMpegTsPMT 2014-02-06 15:30:48 +01:00
Jesper Larsen
dd449c38e6 mpegts: Add network name descriptor construction
Add function to create a Network Name DVB descriptor.
2014-02-06 15:30:48 +01:00
Jesper Larsen
8c26d69e2f mpegts: Add support for creating a NIT section
Functions that will enable user to create Network Information Tables.
2014-02-06 15:30:42 +01:00
Jesper Larsen
4632ccd5be mpegts: Add network_id to GstMpegTsNIT
The network_id is stored in the subtable extension. Make a field
in the GstMpegTsNIT for better code readability
2014-02-06 14:11:53 +01:00
Jesper Larsen
8f429c6c6e mpegts: Add functions to send sections as events
Added function that enables the user to send a GstMpegTsSection as
an event to a GstElement. (i.e. mpegtsmux)
2014-02-06 14:00:33 +01:00
Jesper Larsen
930cde73a7 mpegts: Add functions to packetize section
Sections needs to be packetized for use in i.e. mpegtsmux.
These functions handles the generic common parts of a GstMpegTsSection
2014-02-06 14:00:28 +01:00
Jesper Larsen
b1c5143b79 mpegts: Add init functions for descriptor/section 2014-02-06 12:18:13 +01:00
Jesper Larsen
4630dfda05 mpegts: Add function to encode UTF8 strings
This can be used to create descriptors with appropriate character maps
2014-02-06 12:18:13 +01:00
Jesper Larsen
465dea6f32 mpegts: Use big endian UCS-2 coding
Parsing of control codes requires a big endian character map
2014-02-06 12:18:13 +01:00
Jesper Larsen
73c82e3f1c mpegts: Add support for two-way iconv conversions
To use in conversions from UTF-8 to another character map
2014-02-06 12:18:13 +01:00
Duncan Palmer
06dd8839f4 uridownloader: Fix race condition between EOS handling and downloading a range
https://bugzilla.gnome.org/show_bug.cgi?id=723134
2014-02-04 12:53:00 +01:00
Duncan Palmer
06fec6709d uridownloader: Always release the object lock in gst_uri_downloader_fetch_uri_with_range()
even if downloader->priv->urisrc is not set. This avoids deadlock under some
some conditions on cancel.

https://bugzilla.gnome.org/show_bug.cgi?id=723127
2014-01-29 20:38:57 +01:00
Edward Hervey
274387e8e9 codecparsers: Don't use gst_ as prefix for private symbols
Otherwise they get exposed/accessible in the resulting .so

And make check-exports will complain
2014-01-29 10:50:40 +01:00
Mark Nauwelaerts
1122b56ff6 mpegts: install but nodist for generated header 2014-01-26 14:42:52 +01:00
Thiago Santos
61192a1619 codecparsers: refactor common nal parsing to nalutils
Moves common code from h264 and h265 to a separate file
2014-01-24 09:30:35 -03: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
Thiago Santos
24c87b18c2 h265parser: remove trailling 0x00 bytes as the spec doesn't allow them
Just like h264, the spec doesn't allow the last bytes of a NAL to be 0x00.
So remove it as it is probably just padding.

This is related to https://bugzilla.gnome.org/show_bug.cgi?id=721384
2014-01-22 10:27:01 -03:00
Thiago Santos
4f0fc9a16f h264parser: remove trailling 0x00 bytes as the spec doesn't allow them
The spec states that the last byte of a NAL 'shall not' be 0x00
and it is allowed for byte-stream format to add padding 0x00 for
alignment.

So our parser should strip any trailling 0x00.

https://bugzilla.gnome.org/show_bug.cgi?id=721384
2014-01-22 08:36:30 -03:00
duhui.lee
686c2f8e79 h265parser: Initialize pointer correctly that is never assigned but freed in error cases
Fixes crash on broken streams.

https://bugzilla.gnome.org/show_bug.cgi?id=722669
2014-01-21 09:58:18 +01:00
duhui.lee
13a397a0b9 h265parser: Fix segfault when parsing HRD parameter
https://bugzilla.gnome.org/show_bug.cgi?id=722240
2014-01-20 10:04:23 +01:00
duhui.lee
a8151d78fc h265parser: Fix segfault when parsing VPS
https://bugzilla.gnome.org/show_bug.cgi?id=722081
2014-01-14 16:26:51 +01:00
Justin Joy
6587e924f1 h265parser: prevent to overrun chroma_weight_l0_flag
The index of elements cannot exceed or equal to the size of elements.

https://bugzilla.gnome.org/show_bug.cgi?id=722101
2014-01-13 15:04:52 +01:00
Tim-Philipp Müller
0d9690ba1e mpegts: make headers usable with c++ compiler
Add G_BEGIN_DECLS G_END_DECLS

https://bugzilla.gnome.org/show_bug.cgi?id=671136
2014-01-06 15:01:22 +00:00
Sebastian Dröge
bacef9cbc4 h265parser: Fix debug output 2014-01-06 14:47:43 +01:00
Sebastian Dröge
84bd65b9bd tsdemux: Add HEVC / h265 support 2014-01-06 13:54:40 +01:00
Tim-Philipp Müller
ec3c4cb1c7 mpegts: fix g-i annotations and gtk-doc markup 2013-12-27 10:25:49 +00:00
Thiago Santos
5a5f6d1b7a uridownloader: fix deadlock near EOS
A deadlock can happen when the source sends EOS when
being put to NULL as the object lock is being held by the
thread that sets the element to NULL and is needed by
the event handler.
2013-12-24 17:07:52 -03:00
Luis de Bethencourt
692a053ef8 mpegvideoparse: Fix documentation of GstMpegVideoSequenceScalableMode 2013-12-18 16:26:17 -05:00
Mariusz Buras
d5b438a984 mpegts: Install generated headers
https://bugzilla.gnome.org/show_bug.cgi?id=720673
2013-12-18 13:47:01 +01:00
Matej Knopp
6af387cd5a h264parser: not all startcodes should have 3-byte 0 prefix
The parser assumes that every time there is a 0 before the startcode,
it is part of the startcode. But that's not true.

From the specification

Byte stream NAL unit syntax
zero_byte is a single byte equal to 0x00.
  When any of the following conditions are fulfilled, the zero_byte syntax
  element shall be present.
  – the nal_unit_type within the nal_unit( ) is equal to 7 (sequence parameter
    set) or 8 (picture parameter set)
  – the byte stream NAL unit syntax structure contains the first NAL unit of an
    access unit in decoding order, as specified by subclause 7.4.1.2.3.

The problem with doing this for all startcodes is that a trailing zero can mess
up timestamps. The trailing zero gets prepended to the startcode, which will
carry the PTS and DTS of previous buffer.

https://bugzilla.gnome.org/show_bug.cgi?id=664443
2013-12-14 12:17:40 +01:00
Cong Zhong
631d5d94ed codecparsers: h264: fix picture level scaling lists derivation (rule B).
Fix picture level scaling lists derivation from fall-back rule set B,
as specified in 7.4.2.2. More precisely, the sequence level scaling
lists need to be used but intra and inter lists arguments were swapped.

This fixes FRExt/freh5.264 from conformance testing.

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

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2013-12-10 10:32:43 +01:00
Olivier Crête
a167173063 mpegvideoparser: Also initialize debug category in parse_sequence_header
Also remove the useless initialized flag, this is already done by the macro

https://bugzilla.gnome.org/show_bug.cgi?id=719657
2013-12-04 17:55:05 -05:00
Reynaldo H. Verdejo Pinochet
b4f29e6945 codecparsers: Add -lm needed by H.265 parser 2013-11-13 19:51:12 -03:00
Sebastian Dröge
73888f8e38 mpegts: Add some more element-type annotations for g-i 2013-11-08 20:24:03 +01:00
Aurélien Zanelli
660979bbf2 codecparsers: Fix bad condition in h264 parser
https://bugzilla.gnome.org/show_bug.cgi?id=711615
2013-11-07 18:48:22 +01:00
Sebastian Dröge
2b348161ed codecparsers: Remove some unused functions 2013-11-07 09:54:40 +01:00
Sreerenj Balachandran
33451e0791 codecparsers: add H.265 HEVC bitstream parser
https://bugzilla.gnome.org/show_bug.cgi?id=708438
2013-11-06 23:14:22 +00:00
Edward Hervey
f36e0bca83 mpegts: Add support for parsing DVB Subtitling descriptor (0x59)
Essentially works in the same vein as the iso639 descriptor code
2013-10-11 10:21:25 +02:00
Jesper Larsen
0d57756512 mpegts: Fix assertion fault in ISO 639 parsing
https://bugzilla.gnome.org/show_bug.cgi?id=709180
2013-10-11 10:20:57 +02:00
Jesper Larsen
7cb434e42f mpegts: Add ISO 639 parsing functions
https://bugzilla.gnome.org/show_bug.cgi?id=709180
2013-10-07 10:23:22 +02:00
Sreerenj Balachandran
e943f56bf8 codecparsers: h264: store quantization matrices in zig-zag order
Quantizer matrices are encoded in zigzag scan order in the bitstream,
so always parse it as it is.

https://bugzilla.gnome.org/show_bug.cgi?id=708629
2013-10-02 10:59:10 +02:00
Sreerenj Balachandran
8c9eaf0dc9 codecparsers: h264: add helpers to convert quantization matrices
Add utility functions to convert quantization matrices from zig-zag scan
order into raster scan order and vice-versa

https://bugzilla.gnome.org/show_bug.cgi?id=708629
2013-10-02 10:57:54 +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
Sebastian Dröge
14f2c30686 egl: Update for new GstContext API 2013-09-18 23:09:05 +02:00
Tim-Philipp Müller
f7079af630 mpegts: mark as unstable API 2013-08-28 11:13:14 +01:00
Edward Hervey
5d06aed3e2 mpegts: ABI/API break: Use GPtrArray instead of GArray
While it was a great idea, various g-i based bindings don't support
GArray with entries greater than sizeof(gpointer) :(

So let's just make everybody happy by just using GPtrArray.

And since we're breaking the API, also rename the various descriptor fields
to no longer have the descriptor_ prefix.

It does cost a bit more in terms of memory/cpu usage, but makes it usable
from bindings.
2013-08-21 08:59:42 +02:00
Edward Hervey
8b24d5829b .gitignore: Update for new files to ignore 2013-08-14 13:59:27 +02:00
Tim-Philipp Müller
0bd6f374c8 codecparsers: mpegvideoparse: turn internal consistency check into a g_assert()
We only check input from the API user with g_return_*_if_fail().
Internal sanity checks should use g_assert() instead, which is
disabled by default for releases.
2013-08-13 17:53:33 +01:00
Tim-Philipp Müller
4200946cf1 codecparsers: mpegvideoparser: minor doc fixes 2013-08-13 17:53:29 +01: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
3b6825a546 codecparser: Make warnings more meaningful
By stating whether we don't have enough data or it's a corrupted
packet
2013-07-26 06:46:41 +02:00
Edward Hervey
ae4d6bb334 mpegts: Unify section checks and add BAT parsing
* Avoid repeating code everywhere, and instead provide all parsing
  information in one go.
* Add BAT support
* Refine BAT/CAT identification (by adding PID checks)
2013-07-09 12:25:11 +02:00
Gwenole Beauchesne
ac9c1ae5a8 codecparsers: h264: fix calculation of the frame cropping rectangle.
Fix calculation of the frame cropping rectangle, and more precisely
the actual cropped height. The frame_crop_top_offset subtraction
was not scaled up with SubHeightC.

Also clean-up variables to align more with (7-18) to (7-21).

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2013-07-09 12:15:07 +02:00
Sreerenj Balachandran
529ece338f h264parser: Parse the cropping-rectangle separately.
Assign the un-cropped width/height to sps->width/sps->height
during sps header parsing. Added new fields to SPS header structure
to provide the crop-rectangle dimensions.

https://bugzilla.gnome.org/show_bug.cgi?id=694068
2013-07-09 12:15:07 +02:00
Thiago Santos
c62137b832 uridownloader: fix crash when download is null
Do no try to unref a NULL download attribute
2013-07-08 23:39:49 -03:00
Thiago Santos
9e313eb0a7 uridownloader: do not set cancelled unless explicitly called by user
Cancelled is a 'permanent' state of the uridownloader and is only
removed by a call to _reset. When a download fails we just want to
return NULL on the fetch function and leave the downloader ready
for another fetch, otherwise the user has to call _reset after
failed downloader, even when it didn't call _cancel.
2013-07-08 23:39:49 -03:00
Edward Hervey
f3d53fcd97 mpegts: Avoid false-positives in section type detection
Due to the variety of section types out there, we need to add
some checks when identifying section types.

We check here that the PID is also consistent with the table_id.
2013-07-07 08:35:02 +02:00
Edward Hervey
057d24811d mpegts: Properly handle UTC time in sections
* don't unref inexistant GstDateTime
* Fine-tune hour/min/sec BCD reading code
* Update example code accordingly
2013-07-06 12:39:49 +02:00
Edward Hervey
d95bb48864 mpegts: Fix NIT parsing
The size checks were wrong. The smallest size for a NIT is 16 bytes
(12 for the smallest content + 4 for crc) and the smallest size for
a inner stream loop is 6 bytes (without any descriptors).

Also remove FIXME that has already moved elsewhere
2013-07-06 10:59:55 +02:00
Gwenole Beauchesne
5ad6f2d4a0 codecparsers: mpeg2: fix video packet header size checks.
Fix video packet header size checks for:
- Sequence Header: 64 bits ;
- Sequence Scalable Extension: 10 bits ;
- Slice Header: 6 bits.

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

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2013-07-05 18:58:20 +02:00
Sreerenj Balachandran
9a2ed78532 codecparsers: mpeg2: add slice header parsing API.
Add API to parse the Slice header. This also calculates the macroblock
position as specified in 6.3.16.

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

Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2013-07-05 17:39:28 +02:00
Sreerenj Balachandran
2adfbe36f1 codecparsers: mpeg2: add sequence scalable extension parsing API.
Add API to parse the Sequence Scalable Extension header.

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

Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2013-07-05 17:39:28 +02:00
Gwenole Beauchesne
1a5265ef72 codecparsers: mpeg2: add new API that takes GstMpegVideoPacket arguments.
Add new interface to MPEG-2 video parser that takes GstMpegVideoPacket
arguments instead of data, size, and offset. New functions are called
after gst_mpeg_video_packet_*() and provide the default implementation.

Older API is moved to the deprecated namespace and uses the new functions.

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

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2013-07-05 17:37:34 +02:00
Edward Hervey
f24c0b62e3 mpegts: Improve documentation
* Add a base page for the library
* Add pages for the base MPEG-TS section and descriptors
* Add pages for the known variants
* Add documentation on more fields/sections/types
* Remove some fixmes that were ... fixed
2013-07-04 08:45:33 +02:00
Edward Hervey
34164610b0 mpegtsdescriptor: Fix handling of unknown stream encodings
If we cannot identify the encoding used for a string, return a NULL
string instead of garbage and add a FIXME so we can detect and later
fix it.
2013-07-04 08:45:32 +02:00
Edward Hervey
4fe26740c7 mpegts: Add registered mpeg-ts stream types
These are the values officially registered in the base specification
(H.222.0/13818-1). Later on we can add other enums for other variants

Note that the enum is not used in the structure fields (such as a pmt
stream stream_type field) since it can contain values from other
variants.
2013-07-04 08:45:32 +02:00
Edward Hervey
51d8fa5860 mpegts: split dvb descriptors/enums into a separate file
We will do the same once we have ATSC/ISDB/... descriptor parsing
2013-07-03 18:52:18 +02:00
Edward Hervey
6a611e5d3d mpegts: Fix TOT section parsing
And use it in example
2013-07-03 18:44:54 +02:00
Edward Hervey
982aee25c6 mpegts: Split files and implement free functions
* In order to avoid future clashing between table_id for the various
  mpeg-ts variants, use different enums.
* In order to keep everything clean(ish) and allow for cleaner growth,
  split into different files (will need the same for descriptors later)
* Also ... implement free functions for all table types :)
2013-07-03 17:59:02 +02:00
Thiago Santos
cd26bd51a1 uridownloader: Simplify locking to fix deadlocks
Use object lock to protect variables from concurrent access and
use download_lock to only allow one download running
2013-07-03 10:23:45 -03:00
Edward Hervey
c1366efcd6 libs/mpegts: Rename GstMpegTS => GstMpegTs
Sorry for this :( But this makes it more in sync with expected type
naming in gobject (i.e. CamelCase and not CamelMAYBECase).

Also split descriptor type enums into the different variants:
* ISO H.222.0 / 13818-1 (i.e. standard mpeg-ts)
* DVB
* ATSC
* ISDB
* miscellaneous

This will avoid future clashes when specs use the same descriptor type
2013-07-03 13:59:56 +02:00
Edward Hervey
3665e8543a gst-libs: New Mpeg-TS support library
Exposes various MPEG-TS (ISO/IEC 13818-1) and DVB (EN 300 468) Section
Information as well as descriptors for usage by plugins and applications.

This replaces entirely the old GstStructure-based system for conveying
mpeg-ts information to applications and other plugins.

Parsing and validation is done on a "when-needed" basis. This ensures
the minimal overhead for elements and applications creating and using
sections and descriptors.

Since all information is made available, this also allows applications
to parse custom sections and descriptors.

Right now the library is targeted towards parsing, but the structures
could be used in the future to allow applications to create and inject
sections and descriptors (for usage by various mpeg-ts elements).

https://bugzilla.gnome.org/show_bug.cgi?id=702724
2013-07-03 09:17:25 +02:00
Thiago Santos
e76f3e95fd uridownloader: add support for range based downloads
Adds a new API gst_uri_downloader_fetch_uri_with_range that allows
downloading only a byte range from an URI. It uses a seek event
sent to the source to signal the range to be downloaded.

https://bugzilla.gnome.org/show_bug.cgi?id=702206
2013-07-01 14:22:01 -03:00
Sreerenj Balachandran
65758debf1 h264parser: Fix the return value type for the SEI palyload parsing methods.
The return value type of SEI payload parsing functions
are GstH264ParserResult.

https://bugzilla.gnome.org/show_bug.cgi?id=695475
2013-07-01 11:24:17 +02:00
Edward Hervey
b00192d7c0 codecparsers: Fix gtk-doc
Detected by initial pre-run of gi-scanner.
2013-06-23 11:46:01 +02:00
Sreerenj Balachandran
0a496f4167 mpegvideoparser: Fix the pixel-aspect-ratio calculation
Ignore the display_extension values if they are greater than the width/height
values provided by seqhdr and calculate the PAR based on the seqhdr values.T
his is what DVD players are doing.

Thanks to "David Schleef <ds@schleef.org>"

https://bugzilla.gnome.org/show_bug.cgi?id=685103
2013-06-06 14:32:45 +02:00
Stefan Sauer
668dcf0c09 signalprocessor: ladspa is not using this anymore
When we port lv2, we'll go the same route as the new ladspa plugin.
2013-05-28 10:27:17 +02:00
Edward Hervey
f7893fb63e codecparsers: Actually store mpeg video bitrate value
And use the extension also (higher 12 bits)
2013-05-23 14:59:33 +02:00
Olivier Crête
d0524c0579 insertbin: Annotate callback scopes 2013-05-15 20:03:30 -04:00
Sebastian Dröge
275e104be6 egl: Add destroy notify instead of always calling eglTerminate() on the display
In some scenarios, for example in QtWebKit, might be difficult to obtain full
control on the egl display and it might be only accessible indirectly via
eglGetCurrentDisplay().

https://bugzilla.gnome.org/show_bug.cgi?id=700058
2013-05-10 12:50:05 +02:00
Josep Torra
db3d5f92d6 egl: Allow being used in C++ code 2013-05-10 11:48:46 +02:00
Thiago Santos
529b248a89 codecparsers: ensure the debug category is properly initialized
The user of the library might not need to create a NalParser, so
the debug category needs to be initialized from other functions
as well if required.
2013-05-07 21:05:10 -03:00
Louis-Francis Ratté-Boulianne
f0211e5b7b uridownloader: unlock mutex when switching urisrc state to NULL to avoid deadlock
When chain method was called after gst_uri_downloader_stop and before state has been changed to NULL, execution was blocking on g_mutex_lock.

Conflicts:
	gst-libs/gst/uridownloader/gsturidownloader.c
2013-05-07 20:02:41 -03:00
Thiago Santos
99efe87b5d uridownloader: properly unref the urisrc between downloads
This prevents leaking the element. Also sets the bus to flushing
to completely reset the downloader state
2013-05-07 20:02:41 -03:00
Andre Moreira Magalhaes (andrunko)
f72869816c uridownloader: make cancelled state 'permanent' until a reset
When downloading and cancelling quickly the uridownloader object and the
element using it could miss the cancelled window and the uridownloader
would fetch the wrong URI and block on subsequent fetches.

This was also problematic when stopping elements, while one task would
call the cancel, another element thread could issue a new fetch_uri. As
the cancel state isn't 'permanent' this fetch_uri would block and
prevent the whole element from stopping and going to NULL.

This patch makes the 'cancelled' state permanent until a
gst_uri_downloader_reset is called. This way the element knows the
window where the uridownloader isn't active and only reactivate it when
ready.
2013-05-07 20:02:41 -03:00
Thiago Santos
859635ca01 uridownloader: refactor gsturidownloader to its own lib
gsturidownloader can be reused by other plugins, better have it
into its own lib
2013-05-07 20:02:41 -03:00
Sreerenj Balachandran
0511a6b032 mpegvideometa: Fix typo in comment
https://bugzilla.gnome.org/show_bug.cgi?id=699827
2013-05-07 14:52:50 +02:00
Sebastian Dröge
5bc64fd579 egl: Use gst_context_writable_structure() 2013-04-18 16:11:26 +02:00
Josep Torra
5ba7f5effc egl: silence warnings building for RPI related to 'vcos_*' 2013-04-18 12:16:17 +02:00
Sebastian Dröge
a6e50140b7 egl: Use new types from libgstvideo instead of defining our own 2013-04-17 10:49:59 +02:00
Sebastian Dröge
524421e436 video: Remove video library from -bad
This only contained API that now has replacements in core and base.
2013-04-11 13:35:02 +02:00
Tim-Philipp Müller
3f228f3dfc docs: add since markers to new codecparsers video meta API
https://bugzilla.gnome.org/show_bug.cgi?id=691712
2013-04-02 23:34:19 +01:00
Sebastian Dröge
f7a00d8ca4 egl: Add a #define for the EGLImage memory caps feature 2013-04-01 10:22:06 +02:00
Edward Hervey
67ac84c7b5 codecparsers: Add Mpeg Video GstMeta
This can be used by parsers to provide pre-parsed information to
downstream elements that would require it (so they can avoid having
to parse the bitstream again).
2013-03-31 18:55:29 +02:00
Edward Hervey
3bb62cbf1d codecparser: Fix picture packet extension size check
It is at least 34 bit big (5 bytes with byte padding)
2013-03-31 12:18:32 +02:00
Sebastian Dröge
ce9b6e5afb eglglessink: Implement GstContext handling 2013-03-29 16:38:34 +01:00
Josep Torra
a9a385c512 egl: check on the proper display and indent some lines 2013-03-29 10:33:10 +01:00
Sebastian Dröge
c645e41711 egl: Add a boxed type for GstEGLDisplay 2013-03-28 16:53:35 +01:00
Sebastian Dröge
8f9c2e8e44 egl: Fix some return values in g_return_val_if_fail() 2013-03-19 14:32:30 +01:00
Sebastian Dröge
a373e75949 egl: Add support for different orientations of the EGLImage
The content of the EGLImages can be at least in GStreamer orientation,
meaning top line first in memory, or OpenGL orientation, meaning
bottom line first in memory.
2013-03-13 12:23:49 +01:00
Sebastian Dröge
5e948472ed egl: Rename gst_egl_image_memory_can_map() to is_mappable() 2013-03-03 12:31:05 +01:00
Sebastian Dröge
4ca26a3c45 egl: Remove buffer pool option
This should be done differently via the allocators in the allocation query.
2013-03-03 12:31:05 +01:00
Sebastian Dröge
a47f52bb96 egl: Mark memory as not mappable if it isn't 2013-03-03 12:31:05 +01:00
Sebastian Dröge
0a5ff713e7 egl: Implement sharing of memory 2013-03-03 12:31:05 +01:00
Sebastian Dröge
4dd09a12dd egl: Add infrastructure for EGLImage handling 2013-03-03 12:31:04 +01:00
Sebastian Dröge
4bf50b6af0 codecparsers: Use correct type specifiers for format strings to fix compiler warnings 2013-03-03 12:29:42 +01:00
Tim-Philipp Müller
f8139b2b99 insertbin: mark as unstable API 2013-02-14 09:03:28 +00:00
Tim-Philipp Müller
214d7e0619 insertbin: fix up gtk-doc chunk and add since markers 2013-02-14 09:02:53 +00:00
Tim-Philipp Müller
0dcb7c27ba glib-compat-private.h: remove old GStaticRecMutex stuff
Breaks the build with newer GLibs ("unknown type GStaticRecMutex")
and is not needed any more.
2013-02-12 10:39:44 +00:00
David Schleef
743098fe8c mpegvideoparser: increase min size for picture coding ext
This could use additional work.  The parsing code overruns the
end of buffers during normal operation, triggering GST_WARNINGs.
2013-02-11 18:02:23 -08:00
Youness Alaoui
381fcda68b basecamerabinsrc: Add auto-start property to basecamerabin 2013-02-11 22:04:59 +01:00
Gwenole Beauchesne
6e440f1da4 codecparsers: h264: add profile enums.
Add all useful profiles from AVC, MVC and SVC specifications.

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

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2013-02-07 14:38:27 +01:00
Gwenole Beauchesne
250555a7de codecparsers: mpeg2: add helpers to convert quantization matrices.
Add utility functions to convert quantization matrices from zigzag scan
order (as encoded in the bitstream) into raster scan order. Also provide
another function to reverse the operation.

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

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2013-02-06 14:22:41 +01:00
Cong Zhong
46c01de05d codecparsers: mpeg2: store quantization matrices in zigzag scan order.
Quantizer matrices are encoded in zigzag scan order in the bitstream,
but they are stored in raster scan order when they are parsed. However,
default matrices were also prepared in zigzag scan order, hence the
mismatch. i.e. the matrices were presented either in raster scan order
if they are explicitly present in the bitstream, or they were presented
in zigzag scan order if the default definitions were to be used instead.

One way to solve this problem is to always expose the quantization
matrices in zigzag scan order, since this is the role of the parser to
not build up stories from the source bitstream and just present what
is in there.

Utility functions will be provided to convert quantization matrices in
either scan order.

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

Signed-off-by: Cong Zhong <congx.zhong@intel.com>
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2013-02-06 14:22:41 +01:00
Tim-Philipp Müller
cf695c6da9 insertbin, tests: fix printf format compiler warnings 2013-01-25 12:25:15 +00:00
Gwenole Beauchesne
10639eb889 codecparsers: vc1: fix bitplanes decoding (DIFF6 or NORM6 residual bytes).
Fix parsing of residual bytes. This is a two-step process. First,
remaining colums of full vertical resolution (<height>) need to be
processed. Next, remaining bytes in the first row can be processed,
while taking into account the fact that we may have filled in the
first columns already. So, this is not full horizontal resolution.

The following figure helps in understanding the expected order of
operations, for a 8x5 MBs bitplane.

    5 5 6 6 6 6 6 6
    5 5 1 1 1 2 2 2
    5 5 1 1 1 2 2 2
    5 5 3 3 3 4 4 4
    5 5 3 3 3 4 4 4

So, after tiles 1 to 4 are decoded, vertical tile 5 needs to be
processed (2x5 MBs) and then the horizontal tile 6 (6x1 MBs).

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

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2013-01-25 09:53:05 +01:00
Gwenole Beauchesne
fa2a526f04 codecparsers: vc1: fix bitplanes decoding (DIFF6 or NORM6).
Fix decoding of DIFF6 or NORM6 bitplanes with an odd number of lines
(3x2 "horizontal" tiles). In this case, we have to skip the first line
of macroblocks but <width> number of bytes was used to do so, instead
of the actual <stride> size.

This fixes decoding for the video sample attached to:
https://bugzilla.gnome.org/show_bug.cgi?id=668565

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

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2013-01-25 09:39:01 +01:00
Olivier Crête
d1023646f9 insertbin: Add bin to dynamically insert elements in a running pipeline
This element automatically links in any element added using it's
action signals. These elements must have a single source pad and a single
sink pad.
2013-01-23 21:13:03 -05:00
Gwenole Beauchesne
07a51b16eb codecparsers: vc1: add API to parse slice headers.
Add gst_vc1_parse_slice_header() function to parse slice headers as
described in 7.1.2. Slice layers are optional and allowed in advanced
profile mode only. Picture header, if available (PIC_HEADER_FLAG),
is parsed but not recorded because it shall be the same as that was
previously parsed with gst_vc1_parse_frame_header().

This fixes SA00049.vc1 conformance test.

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

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2013-01-23 17:22:07 +01:00
Gwenole Beauchesne
82200d75ae codecparsers: vc1: fix bitplanes decoding.
Fix decoding of DIFF2 or NORM2 bitplanes with an odd number of macroblocks.
In particular, account for the first bit that was already parsed so that to
avoid a buffer overflow after all pairs are parsed.

This fixes SA00040.vc1 conformance test.

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

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2013-01-23 09:35:11 +01:00
Gwenole Beauchesne
cbec9bfcd0 codecparsers: vc1: simplify GstVC1VopDquant structure.
Rename dqsbedge to dqbedge. The intent is that we can only have a single
boundary edge selector, depending on the value of dqprofile. So, dqbedge
represents DQSBEDGE if dqprofile == GST_VC1_DQPROFILE_SINGLE_EDGE, or
DQDBEDGE if dqprofile == GST_VC1_DQPROFILE_DOUBLE_EDGE.

The former dqbedge field is marked as unused and can be removed on the
next gst-plugins-bad version that allows ABI changes.

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

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2013-01-22 14:22:30 +01:00
Gwenole Beauchesne
93fbcfda23 codecparsers: vc1: fix VOPDQUANT parser for DQUANT == 2.
Fix parsing of VOPDQUANT when DQUANT == 2. In particular, DQUANTFRM is
not present in the bitstream in this case and it shall be derived to
the default value of zero (7.1.1.31.1).

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

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2013-01-22 11:20:06 +01:00
Gwenole Beauchesne
73213e273f codecparsers: vc1: fix calculation of ALTPQUANT.
Fix calculation of ALTPQUANT when DQUANT == 1. PQDIFF alters ALTPQUANT
in any case. See 7.1.1.31.6.

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

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2013-01-22 11:19:56 +01:00
Gwenole Beauchesne
f3698c6289 codecparsers: vc1: fix parser for DQPROFILE in VOPDQUANT.
Fix parse_vopdquant() to correctly parse DQPROFILE, which is 2 bits
instead of a single bit.

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

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2013-01-22 11:19:44 +01:00
Gwenole Beauchesne
56e2405a35 codecparsers: h264: add inferred value for slice_beta_offset_div2.
The standard specifies that when slice_beta_offset_div2 is not present
in the slice header, then the value of slice_beta_offset_div2 shall be
inferred to be equal to 0.

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

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2013-01-22 11:19:17 +01:00
Mark Nauwelaerts
c20d13d8f8 codecparsers: h264: zero-initialize SPS VUI parameters
... so all 'present' flags indicate no presence of optional parts
in case VUI parameters end up not being parsed.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=681818
2013-01-15 19:44:06 +01:00
Youness Alaoui
faf7370a27 GstPhotography: Add new enum values to match android's parameters
https://bugzilla.gnome.org/show_bug.cgi?id=688486
2012-11-20 09:37:59 +00:00
Gwenole Beauchesne
e179a6b4dc codecparsers: vc1: fix PTYPE for interlaced frames.
Coverity found missing break in parse_frame_header_advanced() when
determining PTYPE from FPTYPE for interlaced streams.

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

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2012-11-19 13:57:48 +01:00
Gwenole Beauchesne
c951d201ec codecparsers: h264: fix error code for invalid size parsed in SPS.
gst_h264_parse_sps() returned FALSE if it parsed invalid (negative)
size components. Now make it gracefully return GST_H264_PARSER_ERROR
instead of GST_H264_PARSER_OK (FALSE).

https://bugzilla.gnome.org/show_bug.cgi?id=684568
2012-11-19 12:06: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
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
Michael Smith
0c2159a220 meta info: register thread-safely. 2012-10-03 11:05:06 -07: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
Peter Seiderer
fd030c15b7 gsth264parser: fix Coverity found not initialized sps/pps valid member.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=683264
2012-09-14 17:27:49 +02:00
Peter Seiderer
8a91eed6ad gsth264parser: fix Coverity detected off by one at call to READ_UE_ALLOWED.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=683263
2012-09-14 17:27:49 +02:00
Arnaud Vrac
0331fb6203 mpeg4parser: parse complexity estimation header in video object layer
https://bugzilla.gnome.org/show_bug.cgi?id=683254
2012-09-14 09:14:26 +02:00
Arnaud Vrac
af379b0b8e mpeg4parser: fix some issues related to video object layer parsing
https://bugzilla.gnome.org/show_bug.cgi?id=683254
2012-09-14 09:14:24 +02: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
Gwenole Beauchesne
0b2dd2e723 codecparsers: vc1: fix aspect ratio calculation.
ASPECT_HORIZ_SIZE and ASPECT_VERT_SIZE are syntax elements that hold
binary encodings of sizes ranging from 1 to 256. Thus, the calculated
pixel-aspect-ratio was off by one.

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>

https://bugzilla.gnome.org/show_bug.cgi?id=683858
2012-09-12 10:44:10 +01: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
Gwenole Beauchesne
a08273be72 codecparsers: h264: compute pixel aspect ratio.
Signed-off-by: Simon Farnsworth <simon.farnsworth@onelan.co.uk>
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2012-09-12 10:38:46 +01: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
Lasse Laukkanen
eabb238b24 photography: update documentation
https://bugzilla.gnome.org/show_bug.cgi?id=622482
2012-07-11 00:10:55 +01:00
Lasse Laukkanen
3d94d8dc39 photography: Add manual control of exposure, focus and white balance
Add new interface properties and mode for better manual control of
exposure, focus and white balance.

https://bugzilla.gnome.org/show_bug.cgi?id=622482
2012-07-11 00:10:55 +01: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
Tim-Philipp Müller
7d41bc7825 codecparsers: minor header indentation clean-up for mpegvideoparser 2012-07-11 00:10:55 +01:00
Wim Taymans
b3308676fd update for bus api changes 2012-06-20 12:34:21 +02:00
Vincent Penquerc'h
8800946aa3 h264parser: do not assert on data input, just return
https://bugzilla.gnome.org/show_bug.cgi?id=674069
2012-06-11 11:12:36 +01:00
Edward Hervey
7d4f1aa8e8 h264parser: Remove un-needed checks and inline some functions
val and nr always exist (&nr, &value)
bits is always called smaller than the width

Makes parsing 30% faster
2012-06-06 10:33:18 +02:00
Mark Nauwelaerts
8d6aed5297 codecparsers: mpeg: relax entry constraint
... since it is acceptable and properly handled further on.
2012-06-01 11:13:17 +02:00
Sebastian Dröge
64344a6c63 basevideo: Remove old video base classes 2012-05-28 16:42:59 +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
Mark Nauwelaerts
29a947642e codecparsers: mpeg4: fixup documentation spelling 2012-05-22 14:00:50 +02:00
Nicolas Dufresne
920053dae6 mpegvideoparser: Optimize scanning for start code
https://bugzilla.gnome.org/show_bug.cgi?id=672701
2012-05-22 14:00:48 +02:00
Mark Nauwelaerts
e560ce0909 codecparsers: mpegvideoparser: fix buffer size check
... to mind unsigned integer wrap

Based on patch by Alban Browaeys <prahal@yahoo.com>

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=673436
2012-05-21 15:29:37 +02:00
Mark Nauwelaerts
5b2c2fa32b codecparsers: mpeg4: do not expect a marker bit where not specified
Fixes #672447.
2012-05-18 16:31:21 +02: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
Sreerenj Balachandran
99b6f14486 videocontext: Remove the explicit unrefing of pad object getting from iterator. 2012-05-04 10:21:05 +02:00
Thiago Santos
a944578ef9 basecamerasrc: null caps are not valid in 1.0
Use any caps for the preview-caps property, as NULL caps are
not valid caps in 1.0 anymore
2012-05-02 09:43:33 -03:00
Thiago Santos
89a20eb63e basecamerabinsrc: updating property to new name
enable-last-buffer is now enable-last-sample
2012-05-01 15:10:54 -03:00
Thiago Santos
79d3cc533f camerabin: Replacing ffmpegcolorspace with videoconvert 2012-05-01 15:10:51 -03:00
Wind Yuan
cd001d7b8e codecparser: mpeg4 type error 2012-05-01 11:01:37 +02:00
Sreerenj Balachandran
529f90c29d Doc fixes (gstsurfaceconverter, gstsurfacemeta). 2012-04-20 12:26:35 +02:00
Sebastian Dröge
7ff3293a44 video: Update for libgstvideo API changes 2012-04-19 12:31:39 +02:00
Matej Knopp
045e8bb506 mpegvideoparse: Do not ignore start code at the end of buffer 2012-04-16 08:42:12 +02:00
Matej Knopp
667fa25ec2 Set sync_poinr = 1 for keyframe 2012-04-14 10:40:47 +02:00
Sebastian Dröge
1318a97e0a gst: Update versioning 2012-04-04 14:44:34 +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
Sebastian Dröge
f291f87bb1 basecamerabinsrc: Add $(GST_PLUGINS_BASE_LIBS) to the linker flags 2012-03-27 09:36:24 +02:00
Wim Taymans
bc38bc27b7 don't pass random pointers to pull_range 2012-03-16 21:47:39 +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
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
Wim Taymans
77299ba6ae fix for caps api changes 2012-03-11 19:06:59 +01:00
Thibault Saunier
1188120eba Fix an unwanted double negation from last commit 2012-03-10 20:55:25 -03: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
Edward Hervey
33e8e137a6 video: Update/add docs 2012-03-06 18:49:49 +01:00
Gwenole Beauchesne
5c9f790075 codecparsers: h264: record number of emulation prevention bytes in slice_header().
Some hardware video decode acceleration API (VA-API, DXVA) require
a bit count to the first macroblock, minus the number of emulation
prevention bytes. So, instead of having the consumer of the library
scan the slice_header() again, just record that number while parsing.

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>

https://bugzilla.gnome.org/show_bug.cgi?id=671203
2012-03-03 15:53:46 +00:00
Wim Taymans
ea4a0d1c2d update for metadata API changes 2012-02-29 17:26:28 +01:00
Wim Taymans
1fb46f00ae update for metadata tags 2012-02-28 12:10:18 +01:00
Wim Taymans
1859802d9d update for metadata changes 2012-02-24 10:26:44 +01:00
Edward Hervey
994a5190d6 video: More documentation 2012-02-21 16:53:37 +01:00
Edward Hervey
f9e6af08c7 basevideocodec: Document structures 2012-02-21 16:52:49 +01:00
Wim Taymans
35d7c47764 glib-compat-private.h to dist 2012-02-20 10:58:09 +01:00
Mark Nauwelaerts
ca5010cc4b Merge branch 'master' into 0.11 2012-02-15 17:14:34 +01:00
Jonas Larsson
e373df2a97 codecparsers: h264: fix SEI parsing
... in the presence of emulation_prevention_three_byte.

Fixes #668381.
2012-02-15 15:10:06 +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
Gwenole Beauchesne
4964db6a1c codecparsers: h264: fix parsing of VUI parameters.
max_dec_frame_buffering was mis-parsed because log2_max_mv_length_vertical
was parsed twice.

https://bugzilla.gnome.org/show_bug.cgi?id=668660
2012-01-30 15:21:23 +00:00
Vincent Penquerc'h
8147669971 plenty: fixup glib deprecations 2012-01-27 15:47:07 +00: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
Jonas Larsson
9feea330bb h264parse: fix gst_h264_parse_clock_timestamp always failing 2012-01-23 18:31:51 +00:00
Jonas Larsson
657226d9f0 codecparsers: read the cbr_flag in h264_parse_hrd_parameters 2012-01-23 19:01:04 +01:00
Mark Nauwelaerts
b5c5fb58a3 basevideoencoder: fix parameter sanity check 2012-01-23 14:13:38 +01:00
Gwenole Beauchesne
c92efe38e9 codecparsers: h264: fix ref_pic_list_modification()
The entries were not filled in linearly and the termination was not
recorded either. Now, the actual number of modifications is recorded
similarly to dec_ref_pic_marking(). i.e. an explicit counter instead
of storing the termination value in the array.

https://bugzilla.gnome.org/show_bug.cgi?id=668192
2012-01-20 18:40:29 +00:00
Wim Taymans
27ee60a27b port to new gthread API 2012-01-19 11:34:26 +01: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
b6edb1a03a mpegvideoparser: fix memory leak 2012-01-12 14:34:25 +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
Oleksij Rempel (Alexey Fisher)
1d0507af89 basevideodecoder: add option to hande alt frame data
altref/invisible 'frame' do not describe some frame directly, so it can't be
displayed and timestamps should not be updated.

Fix bug: https://bugzilla.gnome.org/show_bug.cgi?id=655245
Signed-off-by: Oleksij Rempel (Alexey Fisher) <bug-track@fisher-privat.net>
2012-01-10 08:48:45 +01:00
Mark Nauwelaerts
360cbaa46c codecparsers: mpeg4: fix parsing when recursively skipping user data 2012-01-09 15:03:30 +01:00
Zhao Halley
5676ff5bf4 codecparsers: remove h263 gob parsing, since there is no gob immediate after svh 2012-01-05 08:34:36 -03:00
Zhao Halley
bb52df5e24 codecparsers: add missing zero_bits in h263 parsing 2012-01-05 08:34:35 -03:00
Zhao Halley
1138aab1db codecparsers: includes start_marker in h263 header for parsing 2012-01-05 08:34:35 -03:00
Zhao Halley
052d1ace5e codecparsers: fix offset issue in h263 parse 2012-01-05 08:34:35 -03:00
Zhao Halley
70390ad846 codecparsers: fix mask pattern for h263 start marker 2012-01-05 08:34:35 -03:00
Sebastian Dröge
ef31b20afe signalprocessor: The multichannel.h header is gone now 2012-01-05 10:38:22 +01:00
Wim Taymans
b592f431e3 GST_FLOW_UNEXPECTED -> GST_FLOW_EOS 2012-01-03 15:26:54 +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
51f399686e basevideocodec: Reset should reset current caps
New caps will need to be negotiated when reset happens
(PAUSED to READY). Without reseting the internal
stored format, basevideoencoder/decoder wouldn't call the
configuration function when the same caps was negotiated
again as they would believe this was the same caps as before.

The issue is that _stop has been called when going to READY and
the elements would have reset their internal codec libs/state as
well. A new configuration should be done.
2011-12-30 00:02:46 -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
Mark Nauwelaerts
248a1c86e0 codecparsers: h264: clear sei message prior to parsing
Fixes #666584.
2011-12-20 14:06:34 +01:00
Sebastian Dröge
c869b21b17 basevideocodec: Don't use G_TYPE_REGISTER_BOXED() yet
This would require GLib 2.26.
2011-12-13 10:18:24 +01:00
Matej Knopp
4342eea637 basevideo: Make framestate a reference counted boxed object
...and also clear all existing frames when resetting the decoder or encoder.
2011-12-12 14:16:28 +01:00
Matej Knopp
70d13bbb32 basevideo: Make GstVideoFrame a reference counted boxed object
...and also clear all existing frames when resetting the decoder or encoder.
2011-12-12 14:12:36 +01:00
Sebastian Dröge
811a2ef7aa basevideoencoder: Only make the header buffer metadata writable, not the buffer 2011-12-08 11:51:36 +01:00
Sebastian Dröge
fd828c4ac7 basevideoencoder: Fix handling of force-keyunit events 2011-12-08 10:19:40 +01:00
Zhao Halley
4960d27d73 codecparsers: first video_packet_header doesn't start with resync_marker 2011-12-06 17:05:52 -03:00
Zhao Halley
5aaf56af29 codecparsers: return NO_PACKET if needed 2011-12-06 17:05:52 -03:00
Zhao Halley
3aa9081ef5 codecparsers: fix an issue in check resync marker 2011-12-06 17:05:52 -03:00
Zhao Halley
befc724e5a codecparsers: fix an issue in finding the last video packet in vop 2011-12-06 17:05:52 -03:00
Zhao Halley
164faafad6 codecparsers: include resync marker in video packet size 2011-12-06 17:05:52 -03:00
Zhao Halley
f33f26e437 codecparsers: scan next resync marker after current one 2011-12-06 13:29:40 -03:00
Zhao Halley
012c40140f codecparsers: fix < 0 issue of guint in mpeg4 parser
gst_byte_reader_masked_scan_uint32 returns a guint, not a gint, which
explains the issue we sometime get using < 0 instead of == -1;
2011-12-06 13:29:40 -03:00
Zhao Halley
391ecbda71 codecparsers: fix pattern/mask of resync_marker parsing of mpeg4 2011-12-06 13:29:40 -03:00
Alessandro Decina
702c055645 codecparsers: fix compile warnings in gstmpeg4parser.c 2011-12-06 13:15:58 +01:00
Edward Hervey
c4d987b6d3 codecparsers: Variant of _identify_nalu without checks
This is useful for cases where the caller *knows* that the provided
input contains a whole NALU and can therefore avoid:
* the expensive checks for the next start code (which won't be present)
* delaying the input parsing (since we would need the next incoming NALU
  in order for the parsing code to detect the next start code)

https://bugzilla.gnome.org/show_bug.cgi?id=665584
2011-12-05 19:03:05 +01:00
Mark Nauwelaerts
91e054ba58 codecparser: unbreak h264 slice header parsing
.. introduced by refactoring in commit 177451c921
2011-12-05 13:10:18 +01:00
Matej Knopp
27b677d179 basevideodecoder: Fix reference counting of codec_data 2011-12-05 09:41:34 +01:00
Wim Taymans
cacdd29b5c camerabin: use GstSample for the preview 2011-12-01 16:59:14 +01:00
Wim Taymans
759d62bafe fix for moved interfaces 2011-11-29 19:11:22 +01:00
Gwenole Beauchesne
177451c921 codecparsers: h264: record ref_pic_list_modification(). 2011-11-29 09:49:53 -03:00
Gwenole Beauchesne
99101a5824 codecparsers: h264: rename ref_pic_list_reordering() to ref_pic_list_modification().
Upgrade to current AVC specification.
2011-11-29 09:49:53 -03:00
Sebastian Dröge
e98b17a8dc basevideoencoder: Pass the all-headers field of the force-key-unit event to the subclass 2011-11-29 12:18:20 +01:00
Sebastian Dröge
de6782cce4 basevideoencoder: Implement full support for the new force-key-unit event
Including support for the running-time and count fields.
2011-11-29 12:18:20 +01:00
Sebastian Dröge
97515ca050 basevideoencoder: Use new force-keyunit event API from gst-plugins-base 2011-11-29 12:18:20 +01:00
Sebastian Dröge
904eed3547 basevideoencoder: Adjusting padding is not required for -bad libraries 2011-11-29 12:18:19 +01:00
Sebastian Dröge
25002df594 basevideoencoder: Move some fields to the private part of the instance struct 2011-11-29 12:18:19 +01:00
Sebastian Dröge
b0000b9041 basevideoencoder: Make headers metadata writable before pushing downstream
The timestamp, duration, etc of the headers has to be changed.
2011-11-29 12:18:19 +01:00
Sebastian Dröge
4501412af3 basevideoencoder: Push the downstream force-keyframe event after the next keyframe
Even if the corresponding GstVideoFrame doesn't have the is_sync_point
flag set.
2011-11-29 12:18:19 +01:00
Sebastian Dröge
209ea84ef4 basevideoencoder: Don't push an upstream force-keyunit event downstream 2011-11-29 12:18:19 +01:00
Jonas Larsson
54cb226009 basevideoencoder: Add initial support for the all-headers field of the force-keyframe event
See bug #607742.
2011-11-29 12:18:19 +01:00
Tim-Philipp Müller
12c678c7cf codecparsers: minor fixes
Const-ify one more VLC table. Fix spelling of 'hybrid'.
No need to explicitly call ensure_debug_category() everywhere,
that will be done automatically from GST_LOG() and friends
via GST_CAT_DEFAULT.
2011-11-29 09:15: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
e464370163 codecparsers: Declare private arrays as static all around 2011-11-28 21:25:34 -03:00
Thibault Saunier
fd593d6cc8 codecparsers: mpeg4: Implement an Mpeg4 part 2 parsing library 2011-11-28 21:25:34 -03:00
Thibault Saunier
4439048e4a codecparsers: Move shared code to a parser utils file 2011-11-28 21:25:34 -03: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
Tim-Philipp Müller
77361e2919 Merge remote-tracking branch 'origin/master' into 0.11
Conflicts:
	ext/opus/gstopusdec.c
	ext/opus/gstopusparse.c
	gst-libs/gst/video/gstbasevideodecoder.c
	gst-libs/gst/video/gstbasevideodecoder.h
2011-11-26 15:37:25 +00:00
Tim-Philipp Müller
f78e9e1684 basevideodecoder: some more debug logging 2011-11-25 11:37:57 +00:00
Tim-Philipp Müller
a039499bf1 basevideodecoder: add API to drop a frame and post a QoS message on the bus
https://bugzilla.gnome.org/show_bug.cgi?id=640017

API: gst_base_video_decoder_drop_frame()
2011-11-25 11:37:57 +00:00
René Stadler
4a8373b267 basecamerasrc: port to 0.11
Only to fix the build really (gtk-doc is trying to pick up the unbuildable
lib). Not tested at all (but pretty trivial case anyways).
2011-11-24 11:59:19 +01: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
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
Tim-Philipp Müller
27556bd668 docs: fix comment in gst_base_video_decoder_get_max_decode_time() docs 2011-11-22 23:04:49 +00:00
Tim-Philipp Müller
c75922b96b basevideodecoder: fix weird event list handling
Get rid of weird code that copies a list manually, taking
ownership of the elements and then frees the old list. Instead,
just take over the old list entirely. (If the intent was to
reverse the list, one could use g_list_reverse() instead).

Then, push events in the list out from last to first (since they
were prepended as they came in) instead of just pushing out the
last in the list and leaking the others.
2011-11-22 20:04:13 +00:00
Wim Taymans
e813abf631 update for activation changes 2011-11-21 13:37:20 +01:00
Mark Nauwelaerts
eba9bb5e5a h264parser: initialize additional sps field value
Fixes #663552.
2011-11-18 17:19:57 +01:00
Wim Taymans
b948769e6e add parent to activate functions 2011-11-18 13:58:41 +01:00
Wim Taymans
67d328bbe2 fix for scheduling mode rename 2011-11-18 12:38:14 +01:00
Sebastian Dröge
022cdfc5d3 basevideoencoder: Only call ::reset once in READY->PAUSED 2011-11-17 10:34:07 -08: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
Wim Taymans
6d92ecac75 add parent to query function 2011-11-16 17:30:38 +01:00
Wim Taymans
85afc77dea _query_peer_*() -> _peer_query_*() 2011-11-15 17:55:50 +01:00
Wim Taymans
03713e5045 change getcaps to query 2011-11-15 16:34:13 +01:00
Sreerenj Balachandran
f509960fea mpegvideoparse:Correct the skipping of vbv_delay in picture header and some typo fixes.
https://bugzilla.gnome.org/show_bug.cgi?id=663309
2011-11-14 08:32:32 -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
e40ca78278 fix documentation typo 2011-11-09 12:00:05 +01:00
Wim Taymans
0d0444e0fa remove query types 2011-11-09 11:55:14 +01:00
Vincent Penquerc'h
8766717b6c mpegvideoparser: input data is const, mark it so 2011-11-07 11:12:44 +00:00
Wim Taymans
62544179e2 Merge branch 'master' into 0.11 2011-11-07 10:02:00 +01:00
Stefan Sauer
9f73890892 controller: port to new controller location and api 2011-11-04 20:14:01 +01:00
René Stadler
9cbc1fd23a h264parser: add more size checks and improve existing
Don't subtract with unsigned values, that will bite us. Also fix format
specifier in the log message.
2011-11-04 13:10:01 +01:00
Wim Taymans
8e5579c594 video: port somewhat to 0.11
In 0.11 this should be done differently
2011-11-04 11:24:53 +01:00
Wim Taymans
f4c283a9cc Merge branch 'master' into 0.11 2011-11-04 11:01:42 +01:00
Olivier Crête
9f76573bda surfaceconverter: Remove duplicated forward declaration
It seems that some compilers don't like duplicated typedefs.
2011-11-03 17:17:10 -04:00
Wim Taymans
3f6e6053c6 videoenc: fix compiler warning 2011-11-03 16:57:29 +01:00
Wim Taymans
65d306e1f7 video: fix for metadata API change 2011-11-03 16:57:17 +01:00
Edward Hervey
c8561e7e1b libs/video: Finish porting to 0.11 2011-11-03 13:57:20 +01:00
Nicolas Dufresne
149c058209 video: Add GstVideoContext interface
This interface will be used to implement video context sharing. Those
context could be X11 Display, VaDisplay, etc.
2011-11-03 10:41:55 +01:00
Nicolas Dufresne
2808290592 video: Abstract surface API for HW accelerated codecs 2011-11-03 10:33:11 +01:00
Vincent Penquerc'h
ca2f96caac vc1parser: do not overwrite buffer
I do not know the bitstream format, but this seems likely
to be what was intended. Also add a check on the number of
items to read.

https://bugzilla.gnome.org/show_bug.cgi?id=662776
2011-11-03 09:46:02 +01:00
Sreerenj Balachandran
32a1e05795 vc1parser: fix parsing of RANGEREDFRM 2011-11-03 09:44:18 +01:00
Wim Taymans
769a9791a4 Merge branch 'master' into 0.11 2011-11-02 10:31:24 +01:00
René Stadler
fd4eb2e220 h264parser: fix access to uninitialized memory
When vui->timing_info_present is 0, vui->fixed_frame_rate_flag and others
cannot be accessed since they have not been set.

It was also possible that sps->fps_{num,den} end up initialized here.
2011-11-01 15:13:56 +01:00
René Stadler
6c4f5b6ae9 h264parser: fix MAX_SPS/PPS boundary checks 2011-11-01 12:29:35 +01:00
Tim-Philipp Müller
10d31a588d Update for pad API changes
GstProbeType, GstProbeReturn and GstActivateMode -> GstPad*
2011-11-01 00:45:25 +00:00
Tim-Philipp Müller
93ed9cd687 Merge remote-tracking branch 'origin/master' into 0.11 2011-10-31 14:51:32 +00:00
Alessandro Decina
16ce440e7f basevideoencoder: handle failures in start() and stop() 2011-10-31 11:38:58 +01:00
Tommi Myöhänen
de138dbc57 basecamerasrc: optimize state changing speed
Create preview pipeline already in initialization phase. This speeds
up NULL_TO_READY state change. Also implement a separate function for
setting the preview filter element.

This also restricts the preview filter property to work only on
NULL state.
2011-10-31 07:14:36 -03:00
Wim Taymans
9ca3734e52 make elements compile again 2011-10-28 15:16:43 +02:00
Wim Taymans
ce41348f78 Merge branch 'master' into 0.11 2011-10-27 16:13:56 +02:00
Stefan Sauer
69f8921e2c interfaces: clean up the use of iface and class/klass 2011-10-21 15:04:05 +02:00
Sreerenj Balachandran
48275dc071 vc1parser: Correct the parsing of FRMRTQ_POSTPROC and BITRTQ_POSTPROC 2011-10-21 10:53:47 +02:00
Sreerenj Balachandran
30a3c5147b vc1parser: Correct the parsing of sequece layer. 2011-10-21 10:53:47 +02:00
Wim Taymans
effab293cb Merge branch 'master' into 0.11 2011-10-18 14:32:05 +02:00
Thibault Saunier
73d847ba24 codecparsers: VC1: Compute par and fps in advanced profile 2011-10-17 13:17:40 +02:00
Thibault Saunier
14590f06a0 codecparsers: VC1: Handle interlaced fields 2011-10-17 13:17:40 +02:00
Thibault Saunier
88766dc738 codecparsers: VC1: Handle interlaced frames properly 2011-10-17 13:17:40 +02:00
Thibault Saunier
7a689b6805 codecparsers: VC1: Use enums when possible
Add GstVC1FrameCodingMode and use it for the fcm field
Use GstVC1PictureType as variable type for ptype
Use GstVC1Level as variable type for level
2011-10-17 13:17:40 +02:00
Gwenole Beauchesne
40a1ed8288 codecparsers: vc1: fix bitplanes decoding (check for errors). 2011-10-17 13:17:40 +02:00
Gwenole Beauchesne
839acd54f6 codecparsers: vc1: fix bitplanes decoding (INVERT mode). 2011-10-17 13:17:40 +02:00
Gwenole Beauchesne
4280a61a23 codecparsers: vc1: fix MVMODE and MVMODE2 parsing. 2011-10-17 13:17:39 +02:00
Gwenole Beauchesne
b23f7eb38d codecparsers: vc1: handle skipped pictures gracefully. 2011-10-17 13:17:39 +02:00
Thibault Saunier
ce71fdae1b codecparsers: VC1: Implement bitplanes diff operator 2011-10-17 13:17:39 +02:00
Thibault Saunier
8090627581 codecparsers: VC1: Some cosmetics and debug logging enhancements 2011-10-17 13:17:39 +02:00
Gwenole Beauchesne
ef5b8ef581 codecparsers: vc1: Implement bitplanes handling properly
Add a new GstVC1BitPlanes API.
2011-10-17 13:17:39 +02:00
Gwenole Beauchesne
ac552a4f82 codecparsers: vc1: fix BFRACTION parser (values range + overflow). 2011-10-17 13:17:39 +02:00
Gwenole Beauchesne
52d8510ee0 codecparsers: vc1: fix VLC decoding. 2011-10-17 13:17:39 +02:00
Thibault Saunier
1a1935dacf codecparsers: VC1: Implement FrameLayer parsing 2011-10-17 13:17:39 +02:00
Thibault Saunier
fc09e45108 codecparsers: VC1: Implement Sequence Layer Data Structures
Instead of having a single VC1SequenceHeader structure, use the 3 structs
from the "Table 265: Sequence Layer Data Structure" of the specification
for the library to be more flexible.

Implement the functions to parse them
2011-10-17 13:17:38 +02:00
Thibault Saunier
446e0a5216 codecparsers: VC1: Compute framerate and bitrate in simple/main profiles 2011-10-17 13:17:38 +02:00
Thibault Saunier
2b5e7c1f0f codecparsers: VC1: compute MB height and width
Add them to GstVC1SequenceHdr
2011-10-17 13:17:38 +02:00
Gwenole Beauchesne
6137d841a0 codecparsers: vc1: debug cosmetics. 2011-10-17 13:17:38 +02:00
Gwenole Beauchesne
de4a1049e2 codecparsers: vc1: record picture layer header size in bits. 2011-10-17 13:17:38 +02:00
Gwenole Beauchesne
b181bd8bae codecparsers: vc1: compute altpquant. 2011-10-17 13:17:38 +02:00
Gwenole Beauchesne
604ce193dd codecparsers: vc1: use GstVC1ParserResult type name similarly to other parsers. 2011-10-17 13:17:37 +02:00
Gwenole Beauchesne
bd686a6370 codecparsers: vc1: handle End-of-Sequence correctly. 2011-10-17 13:17:37 +02:00
Gwenole Beauchesne
c90bf89b16 codecparsers: mpeg2: fix quant_matrix_extension() parser for chroma intra QM. 2011-10-17 13:17:37 +02:00
Wim Taymans
7f851794d6 Merge branch 'master' into 0.11 2011-10-16 15:28:31 +02:00
Thiago Santos
acdd2c20f7 basecamerasrc: Set preview pipeline to ready when going to ready
The preview pipeline should go to ready when the camerasrc goes
to ready, as in ready elements shouldn't be processing data.
2011-10-11 23:30:49 -03:00
Wim Taymans
4381a0a3a2 basevideodecoder: more porting 2011-10-05 12:53:07 +02:00
Wim Taymans
6b59788bb1 video: start porting some base classes 2011-10-04 14:27:32 +02:00
Wim Taymans
fae37396a4 photography: remore implement-interface 2011-10-04 14:26:21 +02:00
Wim Taymans
458cb1b37c signalprocessor: port to 0.11 2011-10-04 13:33:53 +02:00
Wim Taymans
a7d614b963 Merge branch 'master' into 0.11 2011-10-04 13:29:21 +02:00
Thiago Santos
21653a793a camerabin2: Initialize camerabin2 preview pipeline data with 0
Use g_new0 to initialize all fields with 0 to only cleanup what has been
initialized. This makes cleanup work correctly when some initialization
fails and pointers are left in some inconsistent state.
2011-10-03 16:16:23 -03:00
Wim Taymans
d26f7319e9 Merge branch 'master' into 0.11 2011-10-03 11:24:04 +02:00
Thiago Santos
b03c7478d4 camerabin2: removing capsfilter from preview pipeline
appsink already has a caps property, so we don't need the
capsfilter here
2011-09-29 11:50:04 -03:00
Wim Taymans
145c4b9f74 photography: remove implements-interface prerequisite 2011-09-28 12:54:38 +02:00
Thibault Saunier
705a80d957 codecparser: VC1: Implement a VC1 parsing library 2011-09-26 08:46:37 -03:00
Thibault Saunier
2c928aba19 codecparsers: Declare the new APIs as unstable for the time being 2011-09-26 08:11:45 -03:00
Thiago Santos
43ec4f46b8 basecamerasrc: Fail state change if preview pipeline fails creation
If the preview pipeline fails creation, for any reason, we should
fail basecamerasrc state change.

Also adds a missing g_return_if_fail check to preview pipeline
functions
2011-09-20 13:02:17 -03:00
Edward Hervey
7d5bd1992e codecparsers: Add checks to input, and fix size checking 2011-09-19 16:40:45 +02:00
Edward Hervey
e6212219ed codecparsinglibs: Doc and indentation fixes 2011-09-19 14:03:23 +02:00
Vincent Penquerc'h
ac5121eb01 h264parse: do not try to read from a non existent VUI
https://bugzilla.gnome.org/show_bug.cgi?id=658800
2011-09-19 09:27:06 +02:00
Thibault Saunier
f396baa3af codecparsers: mpegvideo: Debugging symbols enhancements 2011-09-14 12:13:19 -03:00
Thibault Saunier
309df7e1e8 codecparsers: mpegvideo: Add the ChromaType enum 2011-09-14 12:13:19 -03:00
Thibault Saunier
10215d26de codecparsers: mpegvideo: Change broken_gop to broken_link
This way we respect the standard naming
2011-09-14 12:13:19 -03:00
Alessandro Decina
668b0ab4f8 codecparsers: fix compiler warnings 2011-09-12 10:33:06 +02:00
Thibault Saunier
edebb4ed92 codecparsers: h264: Implement the nal_parser_free function 2011-09-09 15:02:35 -03:00
Thibault Saunier
949ba4e895 codecparsers: h264: Use g_slice instead of g_malloc in nal_parser_new 2011-09-09 15:02:34 -03:00
Thibault Saunier
8b268bd49d codecparsers: h264: Update the documentation
Fix a few error.
Document missing parts.
Add links to the specifications
2011-09-09 15:02:31 -03:00
Thiago Santos
12f77b27e2 camerabin2: preview: No need for appsink to store the last buffer
There is no need for preview's appsink to keep a reference to the last buffer,
so disable the property to make it unref the buffers sooner.
2011-09-06 23:03:40 -03:00
Thiago Santos
8a56a7de6d camerabin2: preview: Appsink doesn't need to sync
Set sync to false on preview's pipeline appsink
2011-09-05 14:39:20 -03:00
Thiago Santos
d41af4e2f8 camerabin2: preview: Remove one of the two colorspace converters
The preview pipeline doesn't need 2 colorspace converters, remove
one to speed up caps negotiation and reduce the delay on getting
the first preview buffer out of the preview pipeline.

It shouldn't cause problems as videoscale and ffmpegcolorspace seems
to handle the same caps, so no conversion should be needed for
videoscale. Additionally, camerabin1 has been working with a similar
pipeline with a single ffmpegcolorspace and no bugs have been open about it
so far.
2011-09-05 09:59:53 -03:00
Thiago Santos
0bdde84f3b camerabin2: preview: Disable appsrc signals emission
Camerabin2 doesn't check appsrc's signals, so disable them
2011-09-05 09:33:45 -03:00
Vincent Penquerc'h
8a044de701 basevideoenc: do not try to calculate latency from an unknown framerate
It'll divide by zero, and latency is unknown for an unknown framerate.

Fixes an assert in the schroenc test.

https://bugzilla.gnome.org/show_bug.cgi?id=657419
2011-09-05 12:08:00 +02:00
Edward Hervey
52a6db2206 docs: minor fixes 2011-09-02 16:10:17 +02:00
Edward Hervey
53fcc53d22 gst-libs: Remove play directory. Was unported since 0.8 2011-09-02 16:10:17 +02:00
Gwenole Beauchesne
3952c0dd3b codecparsers: h264: fix PPS parser
Fix transform_8x8_mode_flag and second_chroma_qp_index_offset
2011-09-02 15:46:04 +02:00
Gwenole Beauchesne
d7fafc551a codecparsers: h264: fix NAL reader initialization. 2011-09-02 15:46:04 +02:00
Gwenole Beauchesne
d37f842aaa codecparsers: h264: handle end-of-seq and end-of-stream NAL gracefully. 2011-09-02 15:46:03 +02:00
Gwenole Beauchesne
ccfd761659 codecparsers: h264: fix ref_pic_list_reordering(). 2011-09-02 15:46:03 +02:00
Gwenole Beauchesne
621fd01281 codecparsers: h264: fix pred_weight_table() parsing.
Use 16-bit signed integer values for weight values because valid
ranges are -128 to +128 inclusive.
2011-09-02 15:46:03 +02:00
Gwenole Beauchesne
4bacba620f codecparsers: h264: record slice_header() size in bits. 2011-09-02 15:46:03 +02:00
Gwenole Beauchesne
0a0c73169f codecparsers: h264: fix slice_header() parsing.
We were not parsing the slice headers until the actual end, we are now
parsing until the end.
2011-09-02 15:46:03 +02:00
Gwenole Beauchesne
43e47009d5 codecparsers: h264: fix filler-data NAL unit type name. 2011-09-02 15:46:03 +02:00
Gwenole Beauchesne
10ee3593f2 codecparsers: mpeg: add user-data packet start code definition. 2011-09-02 15:46:02 +02:00
Gwenole Beauchesne
888e8144a0 codecparsers: mpeg: fix Picture_Coding_Extension parser. 2011-09-02 15:46:02 +02:00
Thibault Saunier
a1cfba43f6 codecparsers: h264: Add an h.264 bitstream parsing library 2011-09-02 15:46:02 +02:00
Thibault Saunier
c64b99339c codecparsers: mpeg: Add an mpeg video bitstream parsing library
Create a new codecparsers library
2011-09-02 15:46:02 +02:00
Thiago Santos
e17d99c4c4 basecamerabinsrc: Optimize preview pipeline startup
Use gst_element_link_pads_full to optimize preview pipeline startup,
leading to a faster camerabin2 startup as well.
2011-08-31 15:45:18 -03:00
Vincent Penquerc'h
f3cb4439cf basevideoencoder: fix element leak
and this concludes an hour of yelling at the bloody test failing,
only to track down the problem not being in the test.

https://bugzilla.gnome.org/show_bug.cgi?id=657368
2011-08-26 10:25:46 +02:00
Thiago Santos
011eddcd0e camerabin2: Remove from experimental
Remove camerabin2 from experimental, allowing it to be built
without needing to pass --enable-experimental on configure.
2011-08-23 19:26:31 -03:00
Sebastian Dröge
8c743fbc0f basevideo: Fix locking, especially if both pads have different streaming threads 2011-08-18 10:23:32 +02:00
Sebastian Dröge
a081501a90 basevideo: Don't call g_type_class_peek_parent() in class_init
This is already done by the GObject boilerplate macro
2011-08-18 10:15:20 +02:00
Sebastian Dröge
d576e23aa4 basevideoencoder: Proxy the width/height/framerate/PAR constraints of downstream caps to upstream
This allows to specify constraints on the compressed downstream caps
by muxers or capsfilters, which will then be forwarded to upstream
and allows video converters to fulfill the constraints.

Code based on Mark Nauwelaerts audio encoder base class.
2011-08-12 12:25:03 +02:00
Sebastian Dröge
92c3aaa6e5 basevideoencoder: Remove old ::getcaps() comment 2011-08-12 12:13:45 +02:00
Sebastian Dröge
4a76d3a978 basevideoencoder: Remove ::get_caps() vfunc
Subclasses can set the caps more efficiently and this only
caused additional indirections.
2011-08-12 12:06:23 +02:00
Sebastian Dröge
6e4e4e107c basevideodecoder: Use the cached video frame size instead of recalculating it 2011-08-09 10:43:55 +02:00
Tommi Myöhänen
9238647314 photography: add missing FLICKER_REDUCTION capability
GstPhotography API contains functions to get/set flicker reduction
mode, but GstPhotoCaps enumeration doesn't have item for it, so elements
are not able to report whether they support this feature or not.
Also add useful GST_PHOTOGRAPHY_CAPS_ALL for easily selecting all
capabilities at once.

https://bugzilla.gnome.org/show_bug.cgi?id=655318
2011-08-03 22:04:45 -03:00
Sebastian Dröge
ce0655c275 basevideoencoder: Make access to the list of frames threadsafe 2011-08-03 09:41:20 +02:00
Raluca Elena Podiuc
058a3d9d4c basecamerasrc: remove unused get_allowed_input_caps
The use of this method was removed in:
    commit 539f10f4d9
    basecamerasrc: More cleanup

The code from wrappercamerabinsrc is from v4l2camerasrc but is unused:
get_allowed_input_caps is not called anywhere.
2011-08-02 13:39:18 -03:00
Raluca Elena Podiuc
28df77b7b0 basecamerasrc: don't use class offsets for start/stop-capture signal handlers 2011-08-02 13:39:18 -03:00
Raluca Elena Podiuc
2d17cd3350 basecamerasrc: document why we set preview to PLAYING 2011-08-02 13:39:18 -03:00
Raluca Elena Podiuc
5aa37ebdc8 basecamerasrc: document callbacks
Note for each callback:
- when it is called,
- whether it is mandatory or optional.
2011-08-02 13:39:17 -03:00
Raluca Elena Podiuc
c189ba3496 basecamerabinsrc: preview: remove unused new_preroll callback 2011-08-02 13:39:17 -03:00
Sebastian Dröge
976d372f9b basevideoencoder: Allow finishing of frames with no src_buffer to drop/free the GstVideoFrame 2011-07-21 08:09:11 +02:00
Sebastian Dröge
e5be8aa8ff basevideoencoder: Only get caps from the subclass if they were not set yet by the subclass 2011-07-21 08:09:11 +02:00
Sebastian Dröge
b2525a3044 basevideoencoder: Delay sending of serialized sink events until finish_frame() 2011-07-21 08:09:11 +02:00
Sebastian Dröge
f011e59943 basevideoencoder: Add ::reset vfunc and handle ::reset/::finish the same way as in the decoder 2011-07-21 08:09:10 +02:00
Sebastian Dröge
2dbd24ca84 basevideoencoder: Use a temporary GstVideoState until the subclass accepted the caps
Also store the caps in the GstVideoState and assume a PAR of 1/1 instead
of 0/1 if no PAR is specified in the caps.
2011-07-19 12:52:31 +02:00
Sebastian Dröge
83c4e8814e basevideodecoder: First inform subclass about resetting before resetting/freeing all internal state
The subclass might want to access the old state.
2011-07-11 12:59:07 +02:00
Sebastian Dröge
a59246c1d1 basevideodecoder: Track present position on discont before resetting it 2011-07-11 12:36:42 +02:00
Sebastian Dröge
08823f80d6 basevideodecoder: Also protect the list of pending frames from concurrent access when pushing all pendings events 2011-07-11 11:52:48 +02:00
Sebastian Dröge
81f4c9e8bf basevideocodec: Protect access to the list of pending frames with the object lock
This is required if ::finish_frame() and all buffer output happens
on a different thread than the sinkpad streaming thread.
2011-07-11 11:28:40 +02:00
Sebastian Dröge
caed64c720 basevideodecoder: Set the correct lists to NULL after freeing 2011-07-11 09:35:25 +02:00
Sebastian Dröge
584859488b basevideodecoder: Work with a copy of the GstVideoState in setcaps until the caps are accepted
Also fix a refcount problem with the codec_data.
2011-07-11 09:19:28 +02:00
Sebastian Dröge
e61d3d1a0c basevideo: Move the utils from the codec header to its own header 2011-07-09 11:40:17 +02:00
Sebastian Dröge
5f55a74571 basevideo: Use GSlice for allocating GstVideoFrame and don't duplicate code in the decoder base class 2011-07-09 11:09:12 +02:00
Sebastian Dröge
f341386b64 basevideodecoder: Don't reorder serialized src events
And allow to drop EOS by the subclass if ::finish returns
DROPPED. This requires that the subclass sends EOS manually later.

Fixes bug #653544.
2011-07-09 11:04:18 +02:00
Sebastian Dröge
525875727a basevideo: Add the caps to the GstVideoState and clean up caps/codec_data properly
Having access to the caps in ::set_format can be useful if
non-standard caps fields like the h264 alignment must be accessed.
2011-07-09 11:02:01 +02:00
Sebastian Dröge
fc93c66d3b basevideo: Add destroy notify for the coder_hook to prevent memory leaks
Fixes bug #654293.
2011-07-09 11:00:28 +02:00
David Schleef
929603d56c basevideodecoder: Better handling of invalid par 2011-06-04 14:09:29 -07:00
Debarshi Ray
03bb5dc8ba Remove unused but set variables
This is needed to satisfy the new -Wunused-but-set-variable added in
GCC 4.6: http://gcc.gnu.org/gcc-4.6/changes.html
2011-05-30 22:52:03 +10:00
Lauri Lehtinen
c86d662b23 basecamerabinsrc: Handle errors from preview pipeline
Implements a message handling function to preview pipeline bus.
If GST_MESSAGE_ERROR is seen, considers preview pipeline unable
to do its job and posts an error message to application.

Sets pipeline element to NULL so that subsequent calls to post_preview
and set_caps functions just returns without pushing anything to the
disposed preview pipeline. Leaves further actions to the application.
2011-05-16 18:08:39 -03:00
Lauri Lehtinen
802028081c basecamerabinsrc: Protection for previewpipeline when setting new preview caps
Implements a state indicating flag to preview pipeline,
so that new caps are not set if the pipeline is processing a
preview. The caps are set as pending and applied when the
next preview post is called.

In this case a wait was implemented in the post_preview function,
so that new preview image buffer will wait until the other previews
have been posted to the application and the new caps can be used
safely.
2011-05-16 18:08:39 -03:00
Mark Nauwelaerts
9b6e819247 basevideodecoder: handle missing framerate when calculating timestamp 2011-05-16 20:32:24 +02:00
Mark Nauwelaerts
cfe85ad780 basevideodecoder: debug code style fixes 2011-05-16 20:32:24 +02:00
Mark Nauwelaerts
2f6af91f09 basevideodecoder: tune parsing sink caps into video state
... to provide subclass with more information w.r.t. original caps.
2011-05-16 20:32:24 +02:00
Mark Nauwelaerts
380a443be4 basevideodecoder: video state reference to codec_data is not refcounted
... but rather implicitly valid as long as sink caps are not modified.
2011-05-16 20:32:24 +02:00
Mark Nauwelaerts
a1825bd5e2 basevideodecoder: improve glitch resilience
Provide a replacement for GST_ELEMENT_ERROR to avoid aborting at the first
atom out of place, while on the other hand not failing indefinitely.
2011-05-16 20:32:24 +02:00
Mark Nauwelaerts
1588ed321c basevideodecoder: reverse playback support 2011-05-16 20:32:23 +02:00
Mark Nauwelaerts
1d99e8eafa basevideodecoder: use basevideocodec discont field 2011-05-16 20:32:23 +02:00
Mark Nauwelaerts
1b151caf11 basevideodecoder: really and only set src pad caps whenever requested
... since subclass is expected to be wise enough to know when to do so.
2011-05-16 20:32:23 +02:00
Mark Nauwelaerts
550237347b basevideodecoder: add some sanity enforcing 2011-05-16 20:32:23 +02:00
Mark Nauwelaerts
f72658435b basevideodecoder: add documentation
... and remove some more stray unused code and methods.
2011-05-16 20:32:23 +02:00
Mark Nauwelaerts
04f4a583dd basevideocodec: fully free video frame 2011-05-16 20:32:23 +02:00
Mark Nauwelaerts
a085acb586 basevideodecoder: streamline discont, flush and reset handling
... which is not to say there is no room for further tweaking ...
2011-05-16 20:32:23 +02:00
Mark Nauwelaerts
444b169188 basevideodecoder: add some header commentary 2011-05-16 20:32:22 +02:00
Mark Nauwelaerts
cfc65b14b1 basevideodecoder: remove (almost) unused fields
... and also some more unused code.
2011-05-16 20:32:22 +02:00
Mark Nauwelaerts
f591361d2f basevideodecoder: invoke subclass start method at state change and use set_format
While this changes API slightly (e.g. actually uses set_format now), which is OK
for unstable API, it has following merits:
* symmetric w.r.t. stop at state change
* in line with other base class practice
* otherwise no subclass method at state change (global activation time)
Moreover, subclassese are either unaffected or trivially adjusted accordingly.
2011-05-16 20:32:22 +02:00
Mark Nauwelaerts
04a34b4ab7 basevideodecoder: fixup tweak 2011-05-16 20:32:22 +02:00
Mark Nauwelaerts
39fb2fa74a basevideodecoder: add and tweak debug statements 2011-05-16 20:32:22 +02:00
Mark Nauwelaerts
fc705cf8fd basevideodecoder: arrange for limited legacy seeking support
In particular, tweak src query and event handling to provide for
byte <-> time conversion.
2011-05-16 20:32:22 +02:00
Mark Nauwelaerts
3bd16a48b4 basevideo: cater for format conversion 2011-05-16 20:32:22 +02:00
Mark Nauwelaerts
5af2f6f40e videocodec: remove unused fields and code 2011-05-16 20:32:21 +02:00
Mark Nauwelaerts
4311909a53 basevideodecoder: fix copy-and-paste variable misnomer 2011-05-16 20:32:21 +02:00
Mark Nauwelaerts
7862d9ed35 basevideodecoder: subsume skip_frame into finish_frame 2011-05-16 20:32:21 +02:00
Mark Nauwelaerts
0230143cb8 basevideodecoder: remove unused code 2011-05-16 20:32:21 +02:00
Mark Nauwelaerts
8defa8cb49 basevideodecoder: code cleanup and debug style fixes 2011-05-16 20:32:21 +02:00
Mark Nauwelaerts
576fb1b4cb basevideoencoder: pass along buffer discont flag 2011-05-16 20:32:21 +02:00
Mark Nauwelaerts
ef4bceabbb basevideoencoder: implement preset interface 2011-05-16 20:32:21 +02:00
Mark Nauwelaerts
5a8bc266c8 basevideoencoder: add documentation and related cosmetics 2011-05-16 20:32:21 +02:00
Mark Nauwelaerts
d15b8c7ad3 basevideoencoder: provide proper upstream flow return handling 2011-05-16 20:32:21 +02:00
Mark Nauwelaerts
d0753dec9b basevideoencoder: enhance set_caps
Specifically, only invoke set_format if incoming format really changed,
and finish current format if so (and if any current).
2011-05-16 20:32:20 +02:00
Mark Nauwelaerts
d68288b597 basevideoencoder: elaborate finish to draining 2011-05-16 20:32:20 +02:00
Mark Nauwelaerts
4b5623d687 basevideoencoder: invoke subclass start method at state change
While this changes order w.r.t. set_format, which is OK for unstable API,
it has following merits:
* symmetric w.r.t. stop at state change
* in line with other base class practice
* little benefit in invoking 2 subclass virtual methods (set_format and start)
  in immediate succession; all actions in the second could be done in the first
  whereas subclass has no chance to do anything 'global' at activation time
Moreover, current -bad subclass relevant methods either trivially commute
or are either trivially adjusted accordingly.
2011-05-16 20:32:20 +02:00
Mark Nauwelaerts
d567fa2834 basevideoencoder: enable clipping by default 2011-05-16 20:32:20 +02:00
Mark Nauwelaerts
3f0824b699 basevideoencoder: reset more state 2011-05-16 20:32:20 +02:00
Mark Nauwelaerts
02a065e406 basevideoencoder: header cosmetic and doc fixes 2011-05-16 20:32:20 +02:00
Mark Nauwelaerts
b0c982db5b basevideocodec: remove redundant caps field
... as it is already at hand as the src pad's negotiated caps.
2011-05-16 20:32:20 +02:00
Mark Nauwelaerts
8aa9d83eb4 basevideoencoder: remove unused code 2011-05-16 20:32:19 +02:00
Mark Nauwelaerts
294cecbc69 basevideoencoder: add event virtual method to allow subclass event handling 2011-05-16 20:32:19 +02:00
Mark Nauwelaerts
16c6a49bd4 basevideoencoder: improve GstForceKeyUnit event handling 2011-05-16 20:32:19 +02:00
Mark Nauwelaerts
adbbe36408 basevideocodec: debug style fixes 2011-05-16 20:32:19 +02:00
Mark Nauwelaerts
1659e7dfcf basevideocodec: remove unused code cluttering up the place
Also minor debug style fixes.
2011-05-16 20:32:19 +02:00
Mark Nauwelaerts
72a32afc65 basevideoencoder: simplify negotiated checking
... by avoiding some extraneous (un)ref'ing.
2011-05-16 20:32:19 +02:00
Mark Nauwelaerts
dd118538e9 basevideoencoder: code cleanup and some debug
Also add some minor locking and remove unused bits.
2011-05-16 20:32:19 +02:00
Andoni Morales Alastruey
85703b8886 basevideencoder: Fix use after free after state change transition 2011-05-14 12:08:40 +02:00
David Schleef
50e1a73bbc basevideoencoder: Don't allow buffers after EOS
Fixes #647852.
2011-04-24 19:40:08 -07:00
David Schleef
4f432e09fa basevideo: Don't duplicate code in basevideocodec
Both basevideoencoder and basevideocodec were setting
system_frame_number, leading to confusion.  Fixes #647853.
2011-04-24 19:40:08 -07:00
David Schleef
aa02a4074f basevideo: Check if caps are set directly
Fixes #647854.
2011-04-24 19:40:08 -07:00
Tim-Philipp Müller
fb67a0d126 basevideo: fix unused-but-set-variable warnings with gcc 4.6 2011-04-14 16:49:18 +01:00
Tim-Philipp Müller
c9ef416fa7 basecamerasrc: add unstable-API warnings if GST_USE_UNSTABLE_API is not defined
So people know this is unstable API even if it ends up right next
to our other API.
2011-04-14 16:14:57 +01:00
Tim-Philipp Müller
860adf7585 libs: remove leftover media-info directory 2011-04-14 16:11:53 +01:00
Thibault Saunier
17fd7ebcb4 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
2011-04-11 07:27:11 +02:00
Tim-Philipp Müller
581714bff0 baseparse: remove -bad version of baseparse library, now in core 2011-04-09 00:38:02 +01:00
David Schleef
293b0f7757 basevideo: Fix negotiation errors 2011-04-01 13:54:02 -07:00
David Schleef
83d6a5099b basevideo: Add function to allocate src buffer 2011-04-01 13:54:02 -07:00
David Schleef
3ada35cc0e basevideo: merge utils header into basevideocodec 2011-03-23 21:33:49 -07:00
Robert Swain
6a686316d5 basecamerasrc: camerabin2: wrappercamerabinsrc: Add read-only max-zoom prop
This is not implemented in any of our real sources to which wrappercamerabinsrc
might connect but this is optional and can be implemented at any time. A
limit on the software zoom level using video{crop,scale} would be arbitrary.
2011-03-23 16:48:11 -03:00
Thiago Santos
aa7b962891 camerabin2: Improve idle property usage
Use resource warning messages to notify camerabin2 that a capture
as aborted or couldn't be started, making it decrement the
processing counter and making the idle property more reliable.
2011-03-23 16:13:32 -03:00
Lauri Lehtinen
2da37d966d basecamerabinsrc: Check if set preview caps are the same
Checks if the new received preview-caps are equal to what is
already in use, skips the preview-caps setting logic in case
new caps are same as current ones.
2011-03-23 16:13:32 -03:00
Thiago Santos
a50dca2752 basecamerasrc: Set preview pipeline NULL
Set preview pipeline to NULL when freed to be able to
recreate it on the following lines
2011-03-23 16:13:32 -03:00
Robert Swain
5fd15521e2 basecamerasrc: wrappercamerabinsrc: camerabin2: Expose/add floating point
zoom property
2011-03-11 18:26:43 -03:00
Lauri Lehtinen
76b3ff361f basecamerasrc: add virtual function to notify subclass of changing preview caps
Adds a virtual function to basecamerasrc in case subclasses want to be
notified of changing preview caps. This is useful if the subclass wants
to post the preview itself or if it wants to provide a preview buffer
as close to as possible to the user's requested resolution to the
preview generation pipeline.
2011-03-10 08:42:01 -03:00
Thiago Santos
b3abf91232 camerabin2: Moving preview image properties to basecamerasrc
Moves preview image related properties to basecamerasrc as that
should be present on all camerasrcs
2011-03-10 08:42:00 -03:00
Lasse Laukkanen
b5fdacc5c0 basecamerasrc: Fix getting element implementing photography iface 2011-03-10 08:42:00 -03:00
Thiago Santos
0255584d90 camerabin2: Move preview helper functions to basecamerabinsrc
Move preview helper functions to baseacamerabinsrc so they can
be reused by multiple camerabin2 sources.
2011-03-10 08:42:00 -03:00
David Schleef
7920622ac7 baseparse: make_metadata_writable() fix 2011-02-25 20:00:41 -08:00
Tim-Philipp Müller
246c4a7cf4 baseparse: rename GType from GstAudioBaseParseBad to GstBaseParseBad
We use it for video as well now.
2011-02-21 13:24:03 +00:00
David Schleef
5b90c31ca2 basevideocodec: remove parser in favor of baseparse 2011-02-20 12:16:08 -08:00
Stefan Kost
7a7e769816 baseparse: trim trailing whitespace 2011-02-18 15:05:31 +02:00
Stefan Kost
81e52d5585 baseparse: use delta-unit flags instead of none 2011-02-18 15:05:03 +02:00
David Schleef
f2cc779d68 baseparse: update documentation for API changes 2011-02-17 14:43:38 -08:00
David Schleef
fa3ff9e5ed baseparse: Create baseparse library 2011-02-17 13:57:56 -08:00
Hu Gang
a11b314b1e photography interface: update the noise_reduction type from guint to GstPhotographyNoiseReduction
https://bugzilla.gnome.org/show_bug.cgi?id=616814
2011-02-10 11:49:50 +00:00
Sebastian Dröge
44da64d86b basevideodecoder: Initialize some variables to make gcc 4.6 happy 2011-01-27 17:29:12 +01:00
Thiago Santos
aa671439e1 camerabin2: Add methods for preview image message posting
Adds a helper struct and functions for implementing a preview message
in camerabin2.
2011-01-24 14:50:29 -03:00
Stefan Kost
60f748575b signalprocessor: don't leak the caps 2011-01-07 15:22:07 +02:00
Tim-Philipp Müller
c78223fc9c basecamerabinsrc: fix libs order in Makefile.am 2011-01-03 23:47:33 +00:00
Tim-Philipp Müller
124c6d8259 build: fix disting of experimental basecamerabinsrc lib used by camerabin2
https://bugzilla.gnome.org/show_bug.cgi?id=638604
2011-01-03 23:46:02 +00:00
Tim-Philipp Müller
18e69fb72e photography: fix typo in property description 2010-12-26 17:19:00 +00:00
Thiago Santos
614c4d8f6e basecamerasrc: Notify earlier
Notify about ready-for-capture changes earlier to allow camerabin2
to do the videobin state switching before the capture starts.
2010-12-23 14:25:06 -03:00
Thiago Santos
42092fe928 basecamerabinsrc: Fix makefile building order
basecamerabinsrc must be built after photography interface
as it depends on it.
2010-12-23 13:24:55 -03:00
Thiago Santos
ea959add31 basecamerasrc: Add some more logging
Adds some more logging and always assume capture has started before
start_capture is called. This helps on image captures that might
call finish_capture directly from start_capture or before start_capture
finishes.
2010-12-23 13:24:55 -03:00
Thiago Santos
539f10f4d9 basecamerasrc: More cleanup
Remove old legacy code copied from camerabin(1) that should be handled
by caps negotiation on camerabin2
2010-12-23 13:24:54 -03:00
Thiago Santos
4938c2e9ea camerabin2: Move basecamerasrc to gst-libs
Move the base camera src class to gst-libs/gst/basecamerabinsrc to
allow it to be included from the tests.
2010-12-23 13:20:31 -03:00
Stefan Kost
7cbd6c231b photography: use a flags type instead of the uint
Also use 0 as default and let the implementation set something that they support.
2010-12-20 13:51:03 +02:00
Hu Gang
279cda20d7 photography: add missing property and cabability flag for noise reduction 2010-12-20 11:14:49 +02:00
Edward Hervey
e93ca3ac87 signalprocessor: Remove dead assignments 2010-11-25 19:31:35 +01:00
David Schleef
fe50055715 basevideo: Move common fields/functions to basecodec 2010-10-15 16:30:57 -07:00
Stefan Kost
5433fd062b photography: actualy use the enum in the vmethods
If we introduce a new GstPhotographyNoiseReduction, lets also use it
in the vmethods
2010-10-14 23:04:15 +03:00
Stefan Kost
f2971ff005 photography: retab interface struct fields 2010-10-14 23:03:19 +03:00
Thiago Santos
e3d120d725 photography: Avoid breaking ABI
Move the newly added functions/fields to the end of the structs
2010-10-14 14:09:39 -03:00
Hu Gang
8f26b414fa photography: extend photography iface
Add more color tone modes and add NoseReduction settings.
Fixes #616814.
2010-09-28 11:37:47 +03:00
Sebastian Dröge
5816dbce6f basevideodecoder: Don't use GST_FLOW_IS_SUCCESS() 2010-09-21 12:26:34 +02:00
Thiago Santos
c3527e2653 photography: Add zoom property
Adds a property to set/get the zoom as a float
2010-09-20 18:26:48 -03:00
Lasse Laukkanen
0817440ee1 photography: Add image-preview-supported-caps interface property
Adds a readable property to gstphotography interface to query
what are the allowed preview caps supported.

Patch by Tommi Myöhänen <ext-tommi.1.myohanen@nokia.com>
2010-09-20 18:26:47 -03:00
David Schleef
356daf25a5 basevideo: Remove unused code 2010-09-20 12:34:46 -07:00
David Schleef
9a62433722 basevideo: Remove check for old -base 2010-09-20 12:34:46 -07:00
David Schleef
db43b033ae basevideo: Add handling of GstForceKeyUnit events 2010-09-20 12:34:46 -07:00
David Schleef
62a9383527 basevideodecoder: add capture pattern handling
Move typical scan_for_sync() usage into base class, which just
calls gst_adapter_masked_scan_uint32().
2010-09-18 19:27:07 -07:00
David Schleef
dbbf1182dc basevideodecoder: Don't blow away field information
Also, set field flags correctly.
2010-09-18 19:27:07 -07:00
David Schleef
7cd2e0dd3e basevideo: Move deadline to frame structure 2010-09-18 19:27:07 -07:00
Sebastian Dröge
29943c87f8 basevideodecoder: Reset the segment on FLUSH_STOP and when going back to READY 2010-07-27 18:24:20 +02:00
Sebastian Dröge
ccbb765743 basevideodecoder: Fix memory leak
The timestamps are only used if the output adapter is used, not
if complete frames are provided by the decoder and finish_frame() is
called and even in the case where the output adapter is used they
might not be used and are leaked.
2010-07-10 15:50:50 +02:00
Philip Jägenstedt
7a181a9ed3 basevideodecoder: remove spurious warning 2010-06-10 10:58:54 -07:00
David Schleef
07eb2a7293 basevideoparse: fix warning 2010-06-02 19:46:50 -07:00
David Schleef
faa81e7386 basevideoparse: remove bogus api 2010-06-02 19:38:35 -07:00
David Schleef
af7ae41646 basevideo: remove gst_base_video_state_from_caps 2010-06-02 19:28:16 -07:00
David Schleef
b67706b584 basevideo: remove compatibility code 2010-06-02 19:28:16 -07:00
David Schleef
c295354da5 basevideo: use debug category for each class 2010-06-02 19:28:16 -07:00
Jan Schmidt
efb8a4324c basevideo: Fail if caps don't contain a framerate field
Return false from the caps parsing function if there is no framerate
field in the provided caps

Merging previous commit into current codebase.
2010-06-02 19:28:16 -07:00
David Schleef
13848cc93b basevideodecoder: create new segments if missing 2010-06-02 19:28:16 -07:00
David Schleef
99a88edcc1 basevideo: Add a warning
Merging previous commit into current codebase.
2010-06-02 19:28:16 -07:00
Tim-Philipp Müller
9b1ee36328 basevideo, vp8: guard unstable API with GST_USE_UNSTABLE_API
Add some guards and fat warnings to the header files with still unstable
API, so people who just look at the installed headers know that it
actually is unstable API.

Merging previous commit into current codebase.
2010-06-02 19:28:15 -07:00
David Schleef
9564562fe8 basevideo: make printf formats portable 2010-06-02 12:16:56 -07:00
David Schleef
14c8bf96ad basevideodecoder: (in vp8) Mark discont buffers 2010-06-02 11:26:41 -07:00
David Schleef
bdb5926cda basevideo: Move base video from vp8 to gst-libs 2010-06-02 00:01:10 -07:00
Thiago Santos
c6e77c3d03 Removing remaining gstapp*
There are some remaining gstapp* living unlinked from the build scripts.
Remove them.
2010-05-24 20:03:21 -03:00
David Schleef
c3d4977761 Split out GST_PLUGINS_BAD_CFLAGS from GST_CFLAGS
Move include directives for gst-libs into GST_PLUGINS_BAD_CFLAGS,
and fix all the Makefiles that use it.  This is so that all the
include directories are added in the proper order: first the
directories in srcdir/builddir, then gst-plugins-base dirs, then
gstreamer dirs.  If the order is wrong, installed headers may be
used instead of local headers and/or uninstalled headers from -base.
2010-05-19 18:24:02 -07:00
Thiago Santos
a72774c5f8 camerabin: photography: Spring G_PARAM_STATIC_STRINGS
Sprinkle some G_PARAM_STATIC_STRINGS over the properties
in GstPhotography interface and in camerabin
2010-04-13 15:59:04 -03:00
Tommi Myöhänen
6206f58c3a GstPhotography: Add flicker and focus mode settings to photography API
Adds flicker and focus mode settings to photography API and also
implement it in camerabin.
2010-04-13 12:00:35 -03:00
Lasse Laukkanen
2c05df08b2 camerabin: add api to query supported image capture resolution
Adds new property 'image-capture-supported-caps' to GstPhotography
to query the supported image capture caps.
Also implement it in camerabin.
2010-04-13 12:00:31 -03:00
Tim-Philipp Müller
e964dcbd59 signalprocessor: don't use function that doesn't exist
Fixes the build.
2010-03-26 08:41:46 +00:00
Stefan Kost
05cbc5df9e signalprocessor: add boolean return to _process
Avoid trying to push results if processing failed anyway.
2010-03-25 23:30:29 +02:00
Stefan Kost
cfcffe6a74 signalprocessor: remove useless g_assert
g_malloc and co would terminate when out of memory. No need to check after it.
2010-03-25 23:28:25 +02:00
Stefan Kost
7a14b5d393 signalprocessor: add more logging 2010-03-25 23:26:38 +02:00
Stefan Kost
31423b4638 signalprocessor: register function pointers just once
Avoid re-registering those for each wrapped ladpsa/lv2 element.
2010-03-25 23:12:37 +02:00
Stefan Kost
9304f959a4 signalprocessor: add rate to caps 2010-03-25 23:07:46 +02:00
Stefan Kost
5bc9d4cecd signalprocessor: rename log category to be less ambigous 2010-03-25 23:05:18 +02:00
Stefan Kost
53db4a1884 docs: add photography iface to docs
We normaly have separate libs docs, not done becasue of lazyness here yet.
2010-03-24 16:25:43 +02:00
Stefan Kost
5ebf6444cb i18n: build fixes: #if -> #ifdef for ENABLE_NLS 2010-03-22 18:07:45 +02:00
Stefan Kost
70211451be i18n: fix the build
Don't include locale.h which we include in gettext.h if needed. Guard the
include like we do in the simillar headers in core.
2010-03-22 18:01:27 +02:00
Benjamin Otte
f96e4f1581 Add -Wmissing-declarations -Wmissing-prototypes to configure flags
And fix all warnings
2010-03-21 21:39:18 +01:00
Benjamin Otte
775c7584fd gst_element_class_set_details => gst_element_class_set_details_simple 2010-03-18 22:46:41 +01:00
Stefan Kost
ebdf1c2a18 signalprocessor,lv2,ladspa: move sample-rate to baseclass
We need the sample-rate in baseclass for upcomming timestamp changes.
2010-02-01 22:32:32 +02:00
Stefan Kost
6bff8711d0 signalprocessor: use the gst-controller, add some basic timestamping
Atleast for FX we now have timestamps and can sync the controller. Still need
timestamps for sources.
2010-01-31 22:25:51 +02:00
Stefan Kost
2e46fcb3c6 signalprocessor: these are not gtk-doc comments 2010-01-31 22:25:51 +02:00
Stefan Kost
233f7ef176 signalprocessor: new is a c++ keyword, better logging
Use pad instead of new for the pad var. Also use pad as object in to debug
logging.
2010-01-31 22:25:51 +02:00
b3f0b029f3 win32: Include config.h before anything else. Fix mpegdemux LIBADD
Because config.h defines __MSVCRT_VERSION__, which should be defined
before inclusion of any system header.

Also fixes mpegdemux Makefile.am LIBADD typo.

Fixes #606665
2010-01-12 12:31:56 +01:00
Teemu Katajisto
62ddc73623 camerabin: photography interface properties. Fixes #573370 (partially)
Added GObject properties to photography interface and implemented
them in camerabin. Changed zooming to check if video-source has
zoom property.
2009-11-27 15:10:57 +02:00
Stefan Kost
6577be9572 signalprocessor: remove commented out code that we don't need anymore 2009-11-19 22:59:17 +02:00
Stefan Kost
8a5e9a3363 signalprocessor: change _setup to pass whole caps and not just sampling_rate
This allows to get rid of the sampling_rate variable in the base-class. Also now
subclasses can modify the caps to actualy negotiate. This is needed to e.g. set
audio-channel positions.
2009-11-19 21:11:35 +02:00
Stefan Kost
38592a566d signalprocessor: don't set channel positions in template-caps, Fixes #601775
Revert the changes that added audio positions to template caps. We have an un-
fortunate limitation in core that does not allow to do it. Keep a few things
commented out, so that the channel position can later on be set in setcaps.
2009-11-16 10:20:31 +02:00
Stefan Kost
e1dccb6fd7 build: use gst-glib-gen.mak to fix the glib build rules.
The build rules in glib-gen.mak were using pattern rules in a non save way.
2009-10-24 15:14:26 +03:00
Stefan Kost
0e642cad5b signalprocessor: use the type define like everywhere else 2009-10-11 21:26:45 +03:00
Stefan Kost
4b6e0e9ede signalprocessort: register debug category just once
Previously we were trying to register it for every subclass.
2009-10-11 21:26:45 +03:00
Josep Torra
2f603bc241 basevideo: fix warnings in macosx snow leopard 2009-10-11 11:14:16 +02:00
David Schleef
76f489c595 basevideo: Revert "Call GstBaseVideoEncoder::start/stop during pad [de]activation."
This reverts commit 4c087bcb07.
The reverted commit changes the order that set_format() and start()
are called, which is incorrect.  The correct order is set_format(),
start(), handle_frame()..., stop()
2009-10-05 17:07:36 -07:00
David Schleef
7496a84ea0 basevideo: Free frame using utility function 2009-10-05 13:34:30 -07:00
Jan Schmidt
b4fd433c57 basevideo: Fail if caps don't contain a framerate field
Return false from the caps parsing function if there is no framerate
field in the provided caps
2009-10-05 21:13:40 +01:00
David Schleef
1ee3b51ee0 dirac: convert to BaseVideoEncoder 2009-10-02 22:10:07 -07:00
Alessandro Decina
e665fb8702 Add GstBaseVideoDecoder::set_sink_caps vfunc. 2009-10-02 14:28:50 +02:00
Alessandro Decina
7dc185655f Call GstBaseVideoDecoder::start/stop during pad [de]activation. 2009-10-02 14:28:15 +02:00
Alessandro Decina
a6f616c1ee Don't ignore the value returned from GstBaseVideoEncoder::set_format. 2009-10-02 12:14:07 +02:00
Alessandro Decina
867cb76b21 Unref frame->sink_buffer in gst_base_video_encoder_finish_frame 2009-10-02 12:14:06 +02:00
Alessandro Decina
40d832918a Make GstBaseVideoEncoder::handle_frame return GstFlowReturn 2009-10-02 12:14:06 +02:00
Alessandro Decina
4c087bcb07 Call GstBaseVideoEncoder::start/stop during pad [de]activation. 2009-10-02 12:14:06 +02:00
David Schleef
62b692d549 basevideo: debug at new segment events 2009-09-17 17:03:41 -07:00
David Schleef
440fceec73 basevideo: Add a warning 2009-09-17 17:03:40 -07:00
Dave Robillard
374d52d257 Multi-channel support with channel positions.
This queries port roles from the LV2 data and converts it into GStreamer
channel positions.  This should allow any type of multi-channel plugin
(including beyond stereo, e.g. surround) to work fine in GStreamer,
and with elements that require channel positions to be explicitly stated.
2009-09-17 09:46:49 +03:00
Dave Robillard
403f58b562 Working multi-channel pads for LV2 plugins. 2009-09-17 09:46:48 +03:00
Dave Robillard
7b14e0cb01 Eliminate use of static mono pad template. 2009-09-17 09:46:48 +03:00
Sebastian Dröge
5a8e9cd080 signalprocessor: Fix various build/dist issues
Install the headers, version the library with @GST_MAJORMINOR@,
add all required libraries to _LIBADD instead of _LDFLAGS,
and add GST_*_LDFLAGS to _LDFLAGS.

Fixes bug #594715.
2009-09-10 07:56:25 +02:00
Julien Isorce
30469d45c0 start refactoring of dshowsrcwrapper
-remove gst-libs/gst/dshow
-fakesource is moved from gst-libs/gst/dshow to sys/dshowsrcwrapper
-some minor changes (C/C++ check and includes) to make the plugin
compile again.
2009-07-21 10:49:37 +02:00
Sebastian Dröge
9b9b8cd58e basevideo: Link with libgstvideo for some used functions 2009-07-07 20:29:16 +02:00
Tim-Philipp Müller
6a763f6a47 basevideo, schroedinger: guard unstable API with GST_USE_UNSTABLE_API
Add some guards and fat warnings to the header files with still unstable
API, so people who just look at the installed headers know that it
actually is unstable API.
2009-07-03 16:08:38 +01:00
David Schleef
cf2b2b017f basevideo: move from -base
Also move schroedinger plugin.  This creates a new library,
gstbasevideo-0.10, which will probably be merged back into
gstvideo-0.10 when this is moved back to -base.
2009-07-01 10:56:24 -07:00
Dave Robillard
ea184d72f5 Working LV2 plugin discovery.
- Separate gstsignalprocessor into a separate library (not sure if this
  is in the right place, but it works for now anyway)
- Create LV2 element based on LADSPA element, port most discovery
  functionality
2009-06-22 22:25:03 +03:00
Lasse Laukkanen
9dc5c1ffb2 photography: add functions to set/get all settings with one call 2009-06-05 15:51:30 +03:00
Tim-Philipp Müller
3cfe16cc63 photography: declare interface as unstable API by means of a warning
Application developers won't know right away which module an interface comes from,
and may assume that it is covered by the usual GStreamer API guarantees, so make
it as clear as possible that this particular API is still subject to change
(should have done that with other libraries in -bad before too really).
2009-03-04 21:30:30 +00:00
Lasse Laukkanen
617f34895c photo iface: Add caps object to preparation API for requested and actual capture format
Allow requesting of certain format with prepare_for_capture() and return
the actual format in GstPhotoCapturePrepared callback.
2009-02-23 14:20:12 +02:00
Christian Schaller
f4c741ef9c Update spec file with latest changes, also add some missing disting directories to a couple of Makefiles.am files 2009-02-11 17:23:03 +00:00
René Stadler
c7dfd53899 photography interface: .gitignore generated files. 2009-02-11 01:59:39 +02:00
René Stadler
35ac029769 photography interface: Move generated files to win32/common. 2009-02-11 01:59:39 +02:00
Nokia Corporation
f081d3e7b6 Add photography interface. 2009-02-09 10:22:08 +02:00
Jan Schmidt
a2b410a595 Remove AppSrc/AppSink that are moving to -base. Partially fixes #564421
Original commit message from CVS:
* configure.ac:
* docs/plugins/Makefile.am:
* docs/plugins/gst-plugins-bad-plugins-docs.sgml:
* docs/plugins/gst-plugins-bad-plugins-sections.txt:
* docs/plugins/inspect/plugin-app.xml:
* examples/Makefile.am:
* examples/app/.cvsignore:
* examples/app/Makefile.am:
* examples/app/appsink-src.c:
* examples/app/appsrc-ra.c:
* examples/app/appsrc-seekable.c:
* examples/app/appsrc-stream.c:
* examples/app/appsrc-stream2.c:
* examples/app/appsrc_ex.c:
* gst-libs/gst/Makefile.am:
* gst-libs/gst/app/.cvsignore:
* gst-libs/gst/app/Makefile.am:
* gst-libs/gst/app/gstapp-marshal.list:
* gst-libs/gst/app/gstappbuffer.c:
* gst-libs/gst/app/gstappbuffer.h:
* gst-libs/gst/app/gstappsink.c:
* gst-libs/gst/app/gstappsink.h:
* gst-libs/gst/app/gstappsrc.c:
* gst-libs/gst/app/gstappsrc.h:
* gst/app/Makefile.am:
* gst/app/gstapp.c:
Remove AppSrc/AppSink that are moving to -base. Partially fixes
#564421
2009-01-05 23:03:31 +00:00
Wim Taymans
f1814feb71 gst-libs/gst/app/gstappsrc.*: Add properties and methods to configure and retrieve the min and max latencies.
Original commit message from CVS:
* gst-libs/gst/app/gstappsrc.c: (gst_app_src_class_init),
(gst_app_src_init), (gst_app_src_set_property),
(gst_app_src_get_property), (gst_app_src_query),
(gst_app_src_set_latencies), (gst_app_src_set_latency),
(gst_app_src_get_latency), (gst_app_src_push_buffer_full):
* gst-libs/gst/app/gstappsrc.h:
Add properties and methods to configure and retrieve the min and max
latencies.
2008-12-29 16:45:20 +00:00
Wim Taymans
59c80c9a40 Add appsrc and appsink documentation.
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:
* gst-libs/gst/app/gstappsink.c:
* gst-libs/gst/app/gstappsrc.c: (gst_app_src_class_init):
Add appsrc and appsink documentation.
2008-12-17 13:51:46 +00:00
Wim Taymans
16aa82d6e7 examples/app/: Fix example to unref after emiting the push-buffer action.
Original commit message from CVS:
* examples/app/appsrc-ra.c: (feed_data):
* examples/app/appsrc-seekable.c: (feed_data):
* examples/app/appsrc-stream.c: (read_data):
* examples/app/appsrc-stream2.c: (feed_data):
Fix example to unref after emiting the push-buffer action.
* gst-libs/gst/app/gstappsrc.c: (gst_app_src_class_init),
(gst_app_src_push_buffer_full), (gst_app_src_push_buffer),
(gst_app_src_push_buffer_action):
Don't take the ref on the buffer in push-buffer action because it's too
awkward for bindings. Fixes #564482.
2008-12-15 12:02:26 +00:00
이문형
10097dffbd gst-libs/gst/app/gstappsrc.c: Don't forget to release the lock again if we bail out because some pad is flushing or w...
Original commit message from CVS:
Patch by: 이문형 <iwings at gmail dot com>
* gst-libs/gst/app/gstappsrc.c: (gst_app_src_push_buffer):
Don't forget to release the lock again if we bail out because some
pad is flushing or we've reached EOS, otherwise things will lock up
next time _push_buffer() is called (#562802).
2008-12-01 19:36:35 +00:00
Edward Hervey
4cf27a7351 gst/: Wim, you're a bad boy. You don't want people to contact you or what?
Original commit message from CVS:
* gst-libs/gst/app/gstappsink.c:
* gst-libs/gst/app/gstappsrc.c:
* gst/h264parse/gsth264parse.c:
Wim, you're a bad boy. You don't want people to contact you or what?
2008-11-10 14:53:45 +00:00
Wim Taymans
5e8f80a9f5 gst-libs/gst/app/gstappsrc.*: Add is-live property.
Original commit message from CVS:
* gst-libs/gst/app/gstappsrc.c: (gst_app_src_class_init),
(gst_app_src_init), (gst_app_src_set_property),
(gst_app_src_get_property), (gst_app_src_push_buffer):
* gst-libs/gst/app/gstappsrc.h:
Add is-live property.
Add some more docs.
2008-11-07 17:35:46 +00:00
Stefan Kost
a14e8e07df Don't install static libs for plugins. Fixes #550851 for -bad.
Original commit message from CVS:
* ext/alsaspdif/Makefile.am:
* ext/amrwb/Makefile.am:
* ext/apexsink/Makefile.am:
* ext/arts/Makefile.am:
* ext/artsd/Makefile.am:
* ext/audiofile/Makefile.am:
* ext/audioresample/Makefile.am:
* ext/bz2/Makefile.am:
* ext/cdaudio/Makefile.am:
* ext/celt/Makefile.am:
* ext/dc1394/Makefile.am:
* ext/dirac/Makefile.am:
* ext/directfb/Makefile.am:
* ext/divx/Makefile.am:
* ext/dts/Makefile.am:
* ext/faac/Makefile.am:
* ext/faad/Makefile.am:
* ext/gsm/Makefile.am:
* ext/hermes/Makefile.am:
* ext/ivorbis/Makefile.am:
* ext/jack/Makefile.am:
* ext/jp2k/Makefile.am:
* ext/ladspa/Makefile.am:
* ext/lcs/Makefile.am:
* ext/libfame/Makefile.am:
* ext/libmms/Makefile.am:
* ext/metadata/Makefile.am:
* ext/mpeg2enc/Makefile.am:
* ext/mplex/Makefile.am:
* ext/musepack/Makefile.am:
* ext/musicbrainz/Makefile.am:
* ext/mythtv/Makefile.am:
* ext/nas/Makefile.am:
* ext/neon/Makefile.am:
* ext/ofa/Makefile.am:
* ext/polyp/Makefile.am:
* ext/resindvd/Makefile.am:
* ext/sdl/Makefile.am:
* ext/shout/Makefile.am:
* ext/snapshot/Makefile.am:
* ext/sndfile/Makefile.am:
* ext/soundtouch/Makefile.am:
* ext/spc/Makefile.am:
* ext/swfdec/Makefile.am:
* ext/tarkin/Makefile.am:
* ext/theora/Makefile.am:
* ext/timidity/Makefile.am:
* ext/twolame/Makefile.am:
* ext/x264/Makefile.am:
* ext/xine/Makefile.am:
* ext/xvid/Makefile.am:
* gst-libs/gst/app/Makefile.am:
* gst-libs/gst/dshow/Makefile.am:
* gst/aiffparse/Makefile.am:
* gst/app/Makefile.am:
* gst/audiobuffer/Makefile.am:
* gst/bayer/Makefile.am:
* gst/cdxaparse/Makefile.am:
* gst/chart/Makefile.am:
* gst/colorspace/Makefile.am:
* gst/dccp/Makefile.am:
* gst/deinterlace/Makefile.am:
* gst/deinterlace2/Makefile.am:
* gst/dvdspu/Makefile.am:
* gst/festival/Makefile.am:
* gst/filter/Makefile.am:
* gst/flacparse/Makefile.am:
* gst/flv/Makefile.am:
* gst/games/Makefile.am:
* gst/h264parse/Makefile.am:
* gst/librfb/Makefile.am:
* gst/mixmatrix/Makefile.am:
* gst/modplug/Makefile.am:
* gst/mpeg1sys/Makefile.am:
* gst/mpeg4videoparse/Makefile.am:
* gst/mpegdemux/Makefile.am:
* gst/mpegtsmux/Makefile.am:
* gst/mpegvideoparse/Makefile.am:
* gst/mve/Makefile.am:
* gst/nsf/Makefile.am:
* gst/nuvdemux/Makefile.am:
* gst/overlay/Makefile.am:
* gst/passthrough/Makefile.am:
* gst/pcapparse/Makefile.am:
* gst/playondemand/Makefile.am:
* gst/rawparse/Makefile.am:
* gst/real/Makefile.am:
* gst/rtjpeg/Makefile.am:
* gst/rtpmanager/Makefile.am:
* gst/scaletempo/Makefile.am:
* gst/sdp/Makefile.am:
* gst/selector/Makefile.am:
* gst/smooth/Makefile.am:
* gst/smoothwave/Makefile.am:
* gst/speed/Makefile.am:
* gst/speexresample/Makefile.am:
* gst/stereo/Makefile.am:
* gst/subenc/Makefile.am:
* gst/tta/Makefile.am:
* gst/vbidec/Makefile.am:
* gst/videodrop/Makefile.am:
* gst/videosignal/Makefile.am:
* gst/virtualdub/Makefile.am:
* gst/vmnc/Makefile.am:
* gst/y4m/Makefile.am:
* sys/acmenc/Makefile.am:
* sys/cdrom/Makefile.am:
* sys/dshowdecwrapper/Makefile.am:
* sys/dshowsrcwrapper/Makefile.am:
* sys/dvb/Makefile.am:
* sys/dxr3/Makefile.am:
* sys/fbdev/Makefile.am:
* sys/oss4/Makefile.am:
* sys/qcam/Makefile.am:
* sys/qtwrapper/Makefile.am:
* sys/vcd/Makefile.am:
* sys/wininet/Makefile.am:
* win32/common/config.h:
Don't install static libs for plugins. Fixes #550851 for -bad.
2008-11-04 12:42:30 +00:00
Wim Taymans
4f5adba674 gst-libs/gst/app/gstappsink.c: Fix the docs.
Original commit message from CVS:
* gst-libs/gst/app/gstappsink.c: (gst_app_sink_class_init):
Fix the docs.
2008-10-29 17:02:55 +00:00
Andy Wingo
004d1d0f9f gst-libs/gst/app/gstappsrc.c (gst_app_src_set_max_bytes)
Original commit message from CVS:
2008-06-16  Andy Wingo  <wingo@pobox.com>

* gst-libs/gst/app/gstappsrc.c (gst_app_src_set_max_bytes)
(gst_app_src_get_max_bytes, gst_app_src_push_buffer): Use
G_GUINT64_FORMAT. Avoid overflow in get_max_bytes().
2008-06-16 14:11:36 +00:00
Stefan Kost
2affd3d483 docs/plugins/: docs/plugins/inspect/plugin-mythtv.xml
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:
* docs/plugins/gst-plugins-bad-plugins.args:
* docs/plugins/gst-plugins-bad-plugins.hierarchy:
* docs/plugins/gst-plugins-bad-plugins.interfaces:
* docs/plugins/gst-plugins-bad-plugins.prerequisites:
* docs/plugins/gst-plugins-bad-plugins.signals:
* docs/plugins/inspect/plugin-alsaspdif.xml:
* docs/plugins/inspect/plugin-amrwb.xml:
* docs/plugins/inspect/plugin-app.xml:
* docs/plugins/inspect/plugin-bayer.xml:
* docs/plugins/inspect/plugin-bz2.xml:
* docs/plugins/inspect/plugin-cdaudio.xml:
* docs/plugins/inspect/plugin-cdxaparse.xml:
* docs/plugins/inspect/plugin-dtsdec.xml:
* docs/plugins/inspect/plugin-dvb.xml:
* docs/plugins/inspect/plugin-dvdspu.xml:
* docs/plugins/inspect/plugin-faac.xml:
* docs/plugins/inspect/plugin-faad.xml:
* docs/plugins/inspect/plugin-fbdevsink.xml:
* docs/plugins/inspect/plugin-festival.xml:
* docs/plugins/inspect/plugin-filter.xml:
* docs/plugins/inspect/plugin-flvdemux.xml:
* docs/plugins/inspect/plugin-freeze.xml:
* docs/plugins/inspect/plugin-gsm.xml:
* docs/plugins/inspect/plugin-gstinterlace.xml:
* docs/plugins/inspect/plugin-gstrtpmanager.xml:
* docs/plugins/inspect/plugin-h264parse.xml:
* docs/plugins/inspect/plugin-interleave.xml:
* docs/plugins/inspect/plugin-jack.xml:
* docs/plugins/inspect/plugin-ladspa.xml:
* docs/plugins/inspect/plugin-metadata.xml:
* docs/plugins/inspect/plugin-mms.xml:
* docs/plugins/inspect/plugin-modplug.xml:
* docs/plugins/inspect/plugin-mpeg2enc.xml:
* docs/plugins/inspect/plugin-mpeg4videoparse.xml:
* docs/plugins/inspect/plugin-mpegtsparse.xml:
* docs/plugins/inspect/plugin-mpegvideoparse.xml:
* docs/plugins/inspect/plugin-musepack.xml:
* docs/plugins/inspect/plugin-musicbrainz.xml:
* docs/plugins/inspect/plugin-mve.xml:
* docs/plugins/inspect/plugin-mythtv.xml
* docs/plugins/inspect/plugin-nas.xml:
* docs/plugins/inspect/plugin-neon.xml:
* docs/plugins/inspect/plugin-nsfdec.xml:
* docs/plugins/inspect/plugin-nuvdemux.xml:
* docs/plugins/inspect/plugin-oss4.xml
* docs/plugins/inspect/plugin-rawparse.xml:
* docs/plugins/inspect/plugin-real.xml:
* docs/plugins/inspect/plugin-replaygain.xml:
* docs/plugins/inspect/plugin-rfbsrc.xml:
* docs/plugins/inspect/plugin-sdl.xml:
* docs/plugins/inspect/plugin-sdp.xml:
* docs/plugins/inspect/plugin-selector.xml:
* docs/plugins/inspect/plugin-sndfile.xml:
* docs/plugins/inspect/plugin-soundtouch.xml:
* docs/plugins/inspect/plugin-spcdec.xml:
* docs/plugins/inspect/plugin-speed.xml:
* docs/plugins/inspect/plugin-speexresample.xml:
* docs/plugins/inspect/plugin-stereo.xml:
* docs/plugins/inspect/plugin-subenc.xml
* docs/plugins/inspect/plugin-timidity.xml:
* docs/plugins/inspect/plugin-tta.xml:
* docs/plugins/inspect/plugin-vcdsrc.xml:
* docs/plugins/inspect/plugin-videosignal.xml:
* docs/plugins/inspect/plugin-vmnc.xml:
* docs/plugins/inspect/plugin-wildmidi.xml:
* docs/plugins/inspect/plugin-x264.xml:
* docs/plugins/inspect/plugin-xvid.xml:
* docs/plugins/inspect/plugin-y4menc.xml:
* ext/amrwb/gstamrwbdec.c:
* ext/amrwb/gstamrwbenc.c:
* ext/amrwb/gstamrwbparse.c:
* ext/dc1394/gstdc1394.c:
* ext/directfb/dfbvideosink.c:
* ext/ivorbis/vorbisdec.c:
* ext/jack/gstjackaudiosink.c:
* ext/mpeg2enc/gstmpeg2enc.cc:
* ext/mplex/gstmplex.cc:
* ext/musicbrainz/gsttrm.c:
* ext/mythtv/gstmythtvsrc.c:
* ext/theora/theoradec.c:
* ext/timidity/gsttimidity.c:
* ext/timidity/gstwildmidi.c:
* gst-libs/gst/app/gstappsink.c:
* gst/deinterlace/gstdeinterlace.c:
* gst/dvdspu/gstdvdspu.c:
* gst/festival/gstfestival.c:
* gst/freeze/gstfreeze.c:
* gst/interleave/deinterleave.c:
* gst/interleave/interleave.c:
* gst/modplug/gstmodplug.cc:
* gst/nuvdemux/gstnuvdemux.c:
Add missing elements to docs. Fix doc-markup: use convinience syntax
for examples (produces valid docbook), add several refsec2 when we
have several titles. Fix some types.
2008-06-13 11:59:23 +00:00
Wim Taymans
56e01a0365 examples/app/: Add beefed up example app from bug #413418. It now also uses appsink instead of fakesink for more ulti...
Original commit message from CVS:
* examples/app/.cvsignore:
* examples/app/Makefile.am:
* examples/app/appsink-src.c: (on_new_buffer_from_source),
(on_source_message), (on_sink_message), (main):
Add beefed up example app from bug #413418. It now also uses appsink
instead of fakesink for more ultimate coolness.
* gst-libs/gst/app/gstappsrc.c: (gst_app_src_class_init),
(gst_app_src_init), (gst_app_src_set_property),
(gst_app_src_get_property), (gst_app_src_unlock),
(gst_app_src_unlock_stop), (gst_app_src_create),
(gst_app_src_set_max_bytes), (gst_app_src_push_buffer),
(gst_app_src_end_of_stream):
* gst-libs/gst/app/gstappsrc.h:
Add block property to allow push based implementation to block when we
fill up the appsrc queues.
Emit the enough-data signal while releasing our lock.
2008-06-12 15:47:03 +00:00
Stefan Kost
15b9246617 Do not use short_description in section docs for elements. We extract them from element details and there will be war...
Original commit message from CVS:
* ext/dc1394/gstdc1394.c:
* ext/ivorbis/vorbisdec.c:
* ext/jack/gstjackaudiosink.c:
* ext/metadata/gstmetadatademux.c:
* ext/mythtv/gstmythtvsrc.c:
* ext/theora/theoradec.c:
* gst-libs/gst/app/gstappsink.c:
* gst/bayer/gstbayer2rgb.c:
* gst/deinterlace/gstdeinterlace.c:
* gst/rawparse/gstaudioparse.c:
* gst/rawparse/gstvideoparse.c:
* gst/rtpmanager/gstrtpbin.c:
* gst/rtpmanager/gstrtpclient.c:
* gst/rtpmanager/gstrtpjitterbuffer.c:
* gst/rtpmanager/gstrtpptdemux.c:
* gst/rtpmanager/gstrtpsession.c:
* gst/rtpmanager/gstrtpssrcdemux.c:
* gst/selector/gstinputselector.c:
* gst/selector/gstoutputselector.c:
* gst/videosignal/gstvideoanalyse.c:
* gst/videosignal/gstvideodetect.c:
* gst/videosignal/gstvideomark.c:
* sys/oss4/oss4-mixer.c:
* sys/oss4/oss4-sink.c:
* sys/oss4/oss4-source.c:
Do not use short_description in section docs for elements. We extract
them from element details and there will be warnings if they differ.
Also fixing up the ChangeLog order.
2008-06-12 14:49:18 +00:00
Wim Taymans
1ec82dec72 examples/app/: Added 3 more example application for using appsrc in random-access mode, pull-mode streaming and pull ...
Original commit message from CVS:
* examples/app/Makefile.am:
* examples/app/appsrc-ra.c: (feed_data), (seek_data),
(found_source), (bus_message), (main):
* examples/app/appsrc-seekable.c: (feed_data), (seek_data),
(found_source), (bus_message), (main):
* examples/app/appsrc-stream2.c: (feed_data), (found_source),
(bus_message), (main):
Added 3 more example application for using appsrc in random-access mode,
pull-mode streaming and pull mode seekable.
* gst-libs/gst/app/gstappsrc.c: (gst_app_src_class_init),
(gst_app_src_start), (gst_app_src_do_get_size),
(gst_app_src_create):
* gst-libs/gst/app/gstappsrc.h:
Make stream-type property writable.
Unset flushing when starting so that we reuse appsrc.
Inform basesrc about the configured size.
Emit seek-data signal when we are going to a different offset in
random-access mode.
2008-06-06 16:50:51 +00:00
Wim Taymans
308354073c examples/app/: Added an example on how to use appsrc in playbin in streaming mode from an mmapped file.
Original commit message from CVS:
* examples/app/.cvsignore:
* examples/app/Makefile.am:
* examples/app/appsrc-stream.c: (read_data), (start_feed),
(stop_feed), (found_source), (bus_message), (main):
Added an example on how to use appsrc in playbin in streaming mode from
an mmapped file.
* examples/app/appsrc_ex.c: (main):
Set pipeline to NULL to free queued buffers.
* gst-libs/gst/app/gstapp-marshal.list:
* gst-libs/gst/app/gstappsrc.c: (stream_type_get_type), (_do_init),
(gst_app_src_class_init), (gst_app_src_init),
(gst_app_src_flush_queued), (gst_app_src_dispose),
(gst_app_src_set_property), (gst_app_src_get_property),
(gst_app_src_unlock), (gst_app_src_unlock_stop),
(gst_app_src_start), (gst_app_src_stop), (gst_app_src_is_seekable),
(gst_app_src_check_get_range), (gst_app_src_do_seek),
(gst_app_src_create), (gst_app_src_set_stream_type),
(gst_app_src_get_stream_type), (gst_app_src_set_max_bytes),
(gst_app_src_get_max_bytes), (gst_app_src_push_buffer),
(gst_app_src_end_of_stream), (gst_app_src_uri_get_type),
(gst_app_src_uri_get_protocols), (gst_app_src_uri_get_uri),
(gst_app_src_uri_set_uri), (gst_app_src_uri_handler_init):
* gst-libs/gst/app/gstappsrc.h:
Measure max queue size in bytes instead.
Add support for 3 modes of operation, streaming, seekable and
random-access, making basesrc handle the scheduling modes for each.
Add appsrc:// uri handler so that automatic plugging can be done from
playbin2 or uridecodebin, for example.
Added support for custom segment formats.
Add support for push and pull based operations from the application.
Expand the methods so that errors can be detected.
Flush the queued buffers on seeks and when shutting down.
Add signals to inform the app that a seek must happen.
2008-06-05 16:38:50 +00:00
Wim Taymans
b2aee5ef76 gst-libs/gst/app/: Add marshal.list, make it compile and add to cvsignore.
Original commit message from CVS:
* gst-libs/gst/app/.cvsignore:
* gst-libs/gst/app/Makefile.am:
* gst-libs/gst/app/gstapp-marshal.list:
Add marshal.list, make it compile and add to cvsignore.
* gst-libs/gst/app/gstappsink.c: (gst_app_sink_dispose),
(gst_app_sink_stop):
Small cleanups.
* gst-libs/gst/app/gstappsrc.c: (gst_app_src_class_init),
(gst_app_src_init), (gst_app_src_set_property),
(gst_app_src_get_property), (gst_app_src_unlock),
(gst_app_src_unlock_stop), (gst_app_src_start), (gst_app_src_stop),
(gst_app_src_create), (gst_app_src_set_caps),
(gst_app_src_get_caps), (gst_app_src_set_size),
(gst_app_src_get_size), (gst_app_src_set_seekable),
(gst_app_src_get_seekable), (gst_app_src_set_max_buffers),
(gst_app_src_get_max_buffers), (gst_app_src_push_buffer),
(gst_app_src_end_of_stream):
* gst-libs/gst/app/gstappsrc.h:
Beat appsrc in shape, add signals and actions.
Add some docs.
Add properties for caps, size, seekability and max-buffers.
Fix unlock/stop code.
2008-05-07 10:38:23 +00:00
Wim Taymans
75695e03a0 gst-libs/gst/app/gstappsink.*: Start some docs.
Original commit message from CVS:
* gst-libs/gst/app/gstappsink.c: (gst_app_sink_class_init),
(gst_app_sink_init), (gst_app_sink_set_property),
(gst_app_sink_get_property), (gst_app_sink_unlock_start),
(gst_app_sink_unlock_stop), (gst_app_sink_flush_unlocked),
(gst_app_sink_start), (gst_app_sink_stop), (gst_app_sink_event),
(gst_app_sink_preroll), (gst_app_sink_render),
(gst_app_sink_set_caps), (gst_app_sink_set_drop),
(gst_app_sink_get_drop):
* gst-libs/gst/app/gstappsink.h:
Start some docs.
Add property to drop buffers when the queue is filled
Fix unlocking and flushing when the queues are filled.
2008-05-05 10:27:45 +00:00
Wim Taymans
e4c57a859a gst-libs/gst/app/gstappsink.*: Add more docs.
Original commit message from CVS:
* gst-libs/gst/app/gstappsink.c: (gst_app_sink_class_init),
(gst_app_sink_init), (gst_app_sink_set_property),
(gst_app_sink_get_property), (gst_app_sink_event),
(gst_app_sink_preroll), (gst_app_sink_render),
(gst_app_sink_set_emit_signals), (gst_app_sink_get_emit_signals),
(gst_app_sink_set_max_buffers), (gst_app_sink_get_max_buffers),
(gst_app_sink_pull_buffer):
* gst-libs/gst/app/gstappsink.h:
Add more docs.
Add signals for when preroll and render buffers are available.
Add property to control signal emission.
Add property to control the max queue size.
2008-04-25 18:18:47 +00:00
Michael Smith
a740294f2a gst-libs/gst/dshow/Makefile.am: Use CXXFLAGS rather than CFLAGS; these are C++ files.
Original commit message from CVS:
* gst-libs/gst/dshow/Makefile.am:
Use CXXFLAGS rather than CFLAGS; these are C++ files.
Define required constants appropriately.
* sys/dshowdecwrapper/Makefile.am:
Add required include dir, libraries.
Define required constants appropriately.
2008-04-25 18:13:07 +00:00
Edward Hervey
56c7023d53 gst-libs/gst/dshow/Makefile.am: Make sure the dshow helper library headers get distributed in the next release.
Original commit message from CVS:
* gst-libs/gst/dshow/Makefile.am:
Make sure the dshow helper library headers get distributed in the next
release.
2008-03-14 21:48:37 +00:00
Jan Schmidt
3e6837ee1b Also add dshow pieces to the disted subdirs to fix distcheck.
Original commit message from CVS:
* gst-libs/gst/Makefile.am:
* sys/Makefile.am:
Also add dshow pieces to the disted subdirs to fix distcheck.
2008-02-13 23:52:42 +00:00
Sébastien Moutte
104ec747df Add Makefiles to win32 plugins and lib.
Original commit message from CVS:
* gst-libs/gst/dshow/Makefile.am:
* sys/dshowdecwrapper/Makefile.am:
* sys/dshowsrcwrapper/Makefile.am:
Add Makefiles to win32 plugins and lib.
They will need to be tested and probably fixed by developers
working with mingw. This is a first step to include source files
with releases.
2008-02-12 22:10:39 +00:00
Wim Taymans
930e3e5c4a gst-libs/gst/app/gstappsink.c: Really clean up the queue instead of just unreffing all buffers in it.
Original commit message from CVS:
* gst-libs/gst/app/gstappsink.c: (gst_app_sink_dispose):
Really clean up the queue instead of just unreffing all buffers
in it.
* gst-libs/gst/app/gstappsrc.c: (gst_app_src_base_init),
(gst_app_src_class_init), (gst_app_src_init),
(gst_app_src_dispose), (gst_app_src_finalize):
Fix dispose/finalize.
2008-01-31 17:18:46 +00:00
Ole André Vadla Ravnås
209d6105d7 gst-libs/gst/dshow/gstdshowfakesink.*: Fix crasher in constructor due to the base class's constructor not necessarily...
Original commit message from CVS:
Patch by: Ole André Vadla Ravnås  <ole.andre.ravnas@tandberg.com>
* gst-libs/gst/dshow/gstdshowfakesink.cpp:
(CDshowFakeSink.CDshowFakeSink):
* gst-libs/gst/dshow/gstdshowfakesink.h: (CDshowFakeSink.m_hres):
Fix crasher in constructor due to the base class's constructor
not necessarily being NULL-safe (depends on the SDK version used
apparently; #492406).
* sys/dshowsrcwrapper/gstdshowaudiosrc.c: (gst_dshowaudiosrc_prepare):
* sys/dshowsrcwrapper/gstdshowvideosrc.c: (gst_dshowvideosrc_set_caps):
Fix a couple of MSVC compiler warnings (#492406).
2007-11-04 11:04:28 +00:00
Wim Taymans
b5af210ba2 gst-libs/gst/app/gstappsink.*: Add properties, signals and actions to access the element even without linking to the ...
Original commit message from CVS:
* gst-libs/gst/app/gstappsink.c: (gst_app_marshal_OBJECT__VOID),
(gst_app_sink_class_init), (gst_app_sink_init),
(gst_app_sink_dispose), (gst_app_sink_finalize),
(gst_app_sink_set_property), (gst_app_sink_get_property),
(gst_app_sink_flush_unlocked), (gst_app_sink_start),
(gst_app_sink_event), (gst_app_sink_getcaps),
(gst_app_sink_set_caps), (gst_app_sink_get_caps),
(gst_app_sink_is_eos), (gst_app_sink_pull_preroll),
(gst_app_sink_pull_buffer):
* gst-libs/gst/app/gstappsink.h:
Add properties, signals and actions to access the element even without
linking to the library.
Fix some method names and signatures.
2007-09-20 13:59:50 +00:00
Peter Kjellerstedt
a698a439be gst/: Printf format fixes (#476128).
Original commit message from CVS:
Patch by: Peter Kjellerstedt  <pkj at axis com>
* gst-libs/gst/app/gstappsink.c:
* gst/flv/gstflvdemux.c:
* gst/flv/gstflvparse.c:
* gst/interleave/deinterleave.c:
* gst/switch/gstswitch.c:
Printf format fixes (#476128).
2007-09-12 08:38:22 +00:00
Wim Taymans
1df9f40304 gst-libs/gst/app/gstappsink.c: Override the preroll vmethod instead of overriding the render method twice.
Original commit message from CVS:
* gst-libs/gst/app/gstappsink.c: (gst_app_sink_class_init):
Override the preroll vmethod instead of overriding the render method
twice.
2007-08-16 17:11:48 +00:00
Wim Taymans
acf2b8fb5b gst-libs/gst/app/gstappsink.c: Don't use new API.
Original commit message from CVS:
* gst-libs/gst/app/gstappsink.c: (gst_app_sink_flush_unlocked):
Don't use new API.
2007-08-14 17:47:34 +00:00
Wim Taymans
5111980fa8 gst-libs/gst/app/gstappsink.*: Make love to appsink.
Original commit message from CVS:
* gst-libs/gst/app/gstappsink.c: (gst_app_sink_base_init),
(gst_app_sink_class_init), (gst_app_sink_dispose),
(gst_app_sink_flush_unlocked), (gst_app_sink_start),
(gst_app_sink_stop), (gst_app_sink_event), (gst_app_sink_preroll),
(gst_app_sink_render), (gst_app_sink_get_caps),
(gst_app_sink_set_caps), (gst_app_sink_end_of_stream),
(gst_app_sink_pull_preroll), (gst_app_sink_pull_buffer):
* gst-libs/gst/app/gstappsink.h:
Make love to appsink.
Make it support pulling of the preroll buffer.
Add docs and debug statements.
Fix some races wrt to EOS handling and stopping.
Implement getcaps.
Implement FLUSHING.
API: gst_app_sink_pull_preroll()
2007-08-14 17:38:05 +00:00
Tim-Philipp Müller
dd5f54e22d docs/plugins/inspect/: Add missing inspect files. Fixes build (#454313).
Original commit message from CVS:
* docs/plugins/inspect/plugin-amrwb.xml:
* docs/plugins/inspect/plugin-equalizer.xml:
* docs/plugins/inspect/plugin-multifile.xml:
* docs/plugins/inspect/plugin-timidity.xml:
* docs/plugins/inspect/plugin-wildmidi.xml:
Add missing inspect files. Fixes build (#454313).
* ext/timidity/gstwildmidi.c: (wildmidi_open_config):
Scream a bit louder when initialisation fails.
* gst-libs/README:
* gst-libs/ext/.cvsignore:
Remove some cruft.
2007-07-06 21:07:21 +00:00
Sébastien Moutte
0a0c13670a docs/plugins/gst-plugins-bad-plugins.args: Remove directsoundsink property doc as this sink use the mixer interface now.
Original commit message from CVS:
* docs/plugins/gst-plugins-bad-plugins.args:
Remove directsoundsink property doc as this sink use the mixer
interface now.
* docs/plugins/gst-plugins-bad-plugins.interfaces:
Add interfaces implemented by Windows sinks.
* sys/directsound/gstdirectsoundsink.c:
* sys/directsound/gstdirectsoundsink.h:
Remove directsoundsink property  and implement the mixer interface.
* win32/vs6/gst_plugins_bad.dsw:
* win32/vs6/libgstdirectsound.dsp:
Update project files.
* gst-libs/gst/dshow/gstdshow.cpp:
* gst-libs/gst/dshow/gstdshow.h:
* gst-libs/gst/dshow/gstdshowfakesink.cpp:
* gst-libs/gst/dshow/gstdshowfakesink.h:
* gst-libs/gst/dshow/gstdshowfakesrc.cpp:
* gst-libs/gst/dshow/gstdshowfakesrc.h:
* gst-libs/gst/dshow/gstdshowinterface.cpp:
* gst-libs/gst/dshow/gstdshowinterface.h:
* win32/common/libgstdshow.def:
* win32/vs6/libgstdshow.dsp:
Add a new gst library which allow to create internal Direct Show
graph (pipelines) to wrap Windows sources, decoders or encoders.
It includes a DirectShow fake source and sink and utility functions.
* sys/dshowsrcwrapper/gstdshowaudiosrc.c:
* sys/dshowsrcwrapper/gstdshowaudiosrc.h:
* sys/dshowsrcwrapper/gstdshowsrcwrapper.c:
* sys/dshowsrcwrapper/gstdshowsrcwrapper.h:
* sys/dshowsrcwrapper/gstdshowvideosrc.c:
* sys/dshowsrcwrapper/gstdshowvideosrc.h:
* win32/vs6/libdshowsrcwrapper.dsp:
Add a new plugin to wrap DirectShow sources on Windows.
It gets data from any webcam, dv cam, micro. We could add
tv tunner card later.
2007-05-23 22:44:12 +00:00
Stanislav Brabec
a7c38b8b37 Use external shared libamrwb. Fixes #423741 (with lots of cleanup).
Original commit message from CVS:
patch by: Stanislav Brabec <sbrabec@suse.cz>
* configure.ac:
* ext/amrwb/Makefile.am:
* ext/amrwb/amrwb-code/Makefile.am:
* ext/amrwb/amrwb-code/amrwb/Makefile.am:
* ext/amrwb/amrwb-code/amrwb/README:
* ext/amrwb/gstamrwbdec.c:
* ext/amrwb/gstamrwbdec.h (__GST_AMRWBDEC_H__):
* ext/amrwb/gstamrwbenc.h (__GST_AMRWBENC_H__):
* ext/amrwb/gstamrwbparse.c:
* ext/amrwb/gstamrwbparse.h (__GST_AMRWBPARSE_H__):
* gst-libs/Makefile.am:
* gst-libs/ext/Makefile.am:
* gst-libs/ext/amrwb/Makefile.am:
* gst-libs/ext/amrwb/README:
Use external shared libamrwb. Fixes #423741 (with lots of cleanup).
2007-05-16 13:50:51 +00:00
Thomas Vander Stichele
dd4e39e60f gst-libs/gst/app/Makefile.am: Use GST_ALL_LDFLAGS, which actually exists, but maybe David can confirm that was what h...
Original commit message from CVS:
* gst-libs/gst/app/Makefile.am:
Use GST_ALL_LDFLAGS, which actually exists, but maybe David
can confirm that was what he wanted.
2007-03-22 14:37:08 +00:00
David Schleef
25c51917b4 Add appsrc/appsink example.
Original commit message from CVS:
* configure.ac:
* examples/Makefile.am:
* examples/app/Makefile.am:
* examples/app/appsrc_ex.c:
Add appsrc/appsink example.
* gst-libs/gst/app/Makefile.am:
* gst-libs/gst/app/gstapp.c:
* gst-libs/gst/app/gstappsink.c:
* gst-libs/gst/app/gstappsink.h:
* gst/app/gstapp.c:
Add appsink.
2007-03-11 00:48:26 +00:00
David Schleef
d84dc3a4af gst-libs/gst/app/Makefile.am: Install the headers.
Original commit message from CVS:
* gst-libs/gst/app/Makefile.am:
Install the headers.
2007-03-03 10:23:03 +00:00
David Schleef
5b4cc95fea gst-libs/gst/app/: Add GstAppBuffer that includes a callback and closure for proper handling of data chunks.
Original commit message from CVS:
* gst-libs/gst/app/Makefile.am:
* gst-libs/gst/app/gstappbuffer.c:
* gst-libs/gst/app/gstappbuffer.h:
* gst-libs/gst/app/gstappsrc.c:
Add GstAppBuffer that includes a callback and closure for
proper handling of data chunks.
2007-03-03 10:10:30 +00:00
David Schleef
6b355aa720 gst-libs/gst/app/gstappsrc.*: Hacking to address issues in 413418.
Original commit message from CVS:
* gst-libs/gst/app/gstappsrc.c:
* gst-libs/gst/app/gstappsrc.h:
Hacking to address issues in 413418.
2007-03-03 09:06:06 +00:00
David Schleef
50fdeffe76 Move the app library to gst-libs/gst/app (duh!)
Original commit message from CVS:
* Makefile.am:
* configure.ac:
* ext/Makefile.am:
* gst-libs/gst/Makefile.am:
* gst-libs/gst/app/Makefile.am:
* gst-libs/gst/app/gstapp.c:
* gst-libs/gst/app/gstappsrc.c:
* gst-libs/gst/app/gstappsrc.h:
* gst/app/Makefile.am:
* gst/app/gstapp.c:
* gst/app/gstappsrc.c:
* gst/app/gstappsrc.h:
Move the app library to gst-libs/gst/app (duh!)
2007-03-03 08:16:57 +00:00
Thomas Vander Stichele
ba02842337 work if it's already there too
Original commit message from CVS:
work if it's already there too
2007-01-23 14:54:01 +00:00
Thomas Vander Stichele
a59bef232b add directories in the right place
Original commit message from CVS:
add directories in the right place
2007-01-04 16:39:38 +00:00
Thomas Vander Stichele
4d3eb2d7f0 move amrwb code
Original commit message from CVS:
move amrwb code
2007-01-04 16:32:43 +00:00
Stefan Kost
c93876f799 Fix broken GObject macros
Original commit message from CVS:
* ext/xine/gstxine.h:
* gst-libs/gst/play/play.h:
* sys/v4l2/gstv4l2element.h:
* sys/ximagesrc/ximageutil.h:
Fix broken GObject macros
2006-04-08 18:41:07 +00:00
Thomas Vander Stichele
bdb814f6ef expand tabs
Original commit message from CVS:
expand tabs
2005-12-06 19:55:58 +00:00
Christian Schaller
1db676c6e4 fix disting and spec file
Original commit message from CVS:
fix disting and spec file
2005-07-05 15:26:56 +00:00
Thomas Vander Stichele
c412fa00a7 remove stuff that's in -base
Original commit message from CVS:
remove stuff that's in -base
2005-06-30 12:43:02 +00:00
Christian Schaller
086b25d40a remove gst-libs from gst-plugins module as it is in gst-plugins-base now
Original commit message from CVS:
remove gst-libs from gst-plugins module as it is in gst-plugins-base now
2005-05-06 11:41:28 +00:00
Tim-Philipp Müller
a1a8dab891 gst-libs/gst/riff/riff-media.c: Do actually fix invalid RIFF fmt header values for alaw and mulaw audio instead of ju...
Original commit message from CVS:
* gst-libs/gst/riff/riff-media.c:
(gst_riff_create_audio_caps_with_data):
Do actually fix invalid RIFF fmt header values for alaw
and mulaw audio instead of just saying so.

* gst/wavparse/gstwavparse.c: (gst_wavparse_fmt):
Give gst_riff_create_audio_caps_with_data() a chance to
fix up broken format header fields before extracting any
parameters from the header. (fixes #167633)
2005-02-20 12:49:19 +00:00
Tim-Philipp Müller
4dd33312fe Add G_BEGIN_DECLS and G_END_DECLS around headers where missing, so that they work when included from C++ code
Original commit message from CVS:
Add G_BEGIN_DECLS and G_END_DECLS around headers where missing, so that they work when included from C++ code
2005-02-09 22:31:05 +00:00
David Schleef
7438894f77 configure.ac: Put DEFAULT_AUDIOSINK in config.h and use whereever possible. (Fixes #165997)
Original commit message from CVS:
* configure.ac: Put DEFAULT_AUDIOSINK in config.h and use
whereever possible.  (Fixes #165997)
* examples/capsfilter/capsfilter1.c: (main):
* examples/dynparams/filter.c: (create_ui):
* examples/seeking/cdparanoia.c: (get_track_info), (main):
* examples/seeking/chained.c: (main):
* examples/seeking/seek.c: (make_mod_pipeline), (make_dv_pipeline),
(make_wav_pipeline), (make_flac_pipeline), (make_sid_pipeline),
(make_vorbis_pipeline), (make_mp3_pipeline), (make_avi_pipeline),
(make_mpeg_pipeline), (make_mpegnt_pipeline):
* examples/seeking/spider_seek.c: (make_spider_pipeline):
* examples/switch/switcher.c: (main):
* ext/dv/demo-play.c: (main):
* ext/faad/gstfaad.c: (gst_faad_change_state):
* ext/mad/gstmad.c: (gst_mad_chain):
* ext/smoothwave/demo-osssrc.c: (main):
* gst-libs/gst/gconf/gconf.c: (gst_gconf_set_string),
(gst_gconf_render_bin_from_description),
(gst_gconf_get_default_audio_sink),
(gst_gconf_get_default_video_sink),
(gst_gconf_get_default_audio_src),
(gst_gconf_get_default_video_src),
(gst_gconf_get_default_visualization_element):
* gst/level/demo.c: (main):
* gst/level/plot.c: (main):
* gst/playback/gstplaybin.c: (gen_video_element),
(gen_audio_element):
* gst/playback/test.c: (gen_video_element), (gen_audio_element):
* gst/playondemand/demo-mp3.c: (setup_pipeline):
* gst/sine/demo-dparams.c: (main):
* gst/spectrum/demo-osssrc.c: (main):
* gst/speed/demo-mp3.c: (main):
* gst/volume/demo.c: (main):
* testsuite/embed/embed.c: (main):
2005-02-02 08:14:01 +00:00
Ronald S. Bultje
f0e7f52fd6 gst-libs/gst/riff/riff-media.c: Add extradata to huffyuv (fixes #165013).
Original commit message from CVS:
* gst-libs/gst/riff/riff-media.c:
(gst_riff_create_video_caps_with_data):
Add extradata to huffyuv (fixes #165013).
* gst-libs/gst/riff/riff-read.c:
(gst_riff_read_strf_vids_with_data):
Fix extradata extraction if it is in the chunk size.
2005-01-25 15:17:23 +00:00
Ronald S. Bultje
5c88ccad34 gst-libs/gst/riff/riff-media.c: Audio can be <8000Hz.
Original commit message from CVS:
* gst-libs/gst/riff/riff-media.c:
(gst_riff_create_audio_caps_with_data):
Audio can be <8000Hz.
2005-01-24 18:41:18 +00:00
Ronald S. Bultje
d9c770356c gst-libs/gst/riff/riff-read.*: Add _peek version (req'ed in CDXA).
Original commit message from CVS:
* gst-libs/gst/riff/riff-read.c: (gst_riff_peek_element_data),
(gst_riff_read_element_data):
* gst-libs/gst/riff/riff-read.h:
Add _peek version (req'ed in CDXA).
* gst/cdxaparse/gstcdxaparse.c: (gst_cdxaparse_init),
(gst_cdxaparse_loop):
Fix parsing in playbin.
* gst/playback/gstdecodebin.c: (close_pad_link):
Ignore current_ pads, they cause major annoyance.
2005-01-19 22:42:21 +00:00
Ronald S. Bultje
0419fe8a88 gst-libs/gst/riff/riff-media.c: Add intel-h263.
Original commit message from CVS:
* gst-libs/gst/riff/riff-media.c:
(gst_riff_create_video_caps_with_data),
(gst_riff_create_video_template_caps):
Add intel-h263.
2005-01-19 12:47:20 +00:00
Thomas Vander Stichele
52783b735e ignore more
Original commit message from CVS:
ignore more
2005-01-17 12:41:42 +00:00
Thomas Vander Stichele
2a243697b2 ignore generated files
Original commit message from CVS:
ignore generated files
2005-01-17 12:38:17 +00:00
Ronald S. Bultje
0ad84df59f gst-libs/gst/riff/riff-read.c: Don't bail on unknown events.
Original commit message from CVS:
* gst-libs/gst/riff/riff-read.c: (gst_riff_read_use_event):
Don't bail on unknown events.
* gst/audioscale/gstaudioscale.c: (gst_audioscale_chain):
Don't crash on events before negotiation.
* gst/avi/gstavidemux.c: (gst_avi_demux_add_stream):
Send tags on pads, too.
* gst/playback/gststreamselector.c:
(gst_stream_selector_request_new_pad):
Forward events on first pad if no input was selected yet.
2005-01-10 16:09:24 +00:00
Ronald S. Bultje
ac59af4fcd Remove all references to xvideosink, fix examples (#140845).
Original commit message from CVS:
* configure.ac:
* examples/capsfilter/capsfilter1.c: (main):
* examples/seeking/spider_seek.c: (make_spider_pipeline):
* ext/dvdread/Makefile.am:
* ext/dvdread/demo-play:
* ext/dvdread/demo-play.c:
* gconf/gstreamer.schemas.in:
* gst-libs/gst/gconf/gconf.c:
* sys/v4l/TODO:
* testsuite/Makefile.am:
* testsuite/embed/Makefile.am:
* testsuite/embed/embed.c: (cb_expose), (main):
Remove all references to xvideosink, fix examples (#140845).
* gst/playback/gstplaybasebin.c: (group_destroy):
Apparently, disposal does not unlink - so do explicitely.
* ext/alsa/gstalsasink.c: (gst_alsa_sink_check_event):
Add debug.
2005-01-09 14:53:58 +00:00
Stéphane Loeuillet
12ab2c838a gst/: Add AMR (VBR and CBR) ids to riff.h audio codec list
Original commit message from CVS:
* gst-libs/gst/riff/riff-ids.h:
* gst/wavenc/riff.h:
Add AMR (VBR and CBR) ids to riff.h audio codec list

* gst/asfdemux/gstasfdemux.c:
(gst_asf_demux_process_ext_content_desc),
(gst_asf_demux_process_object):
Retrieve more tags from ASF files (Genre, AlbumTitle, Artist)
2005-01-05 21:46:19 +00:00
Ronald S. Bultje
02add212a0 gst-libs/gst/resample/resample.c: Fix invalid memory access (#159211).
Original commit message from CVS:
Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
* gst-libs/gst/resample/resample.c: (gst_resample_sinc_ft_s16):
Fix invalid memory access (#159211).
2005-01-05 15:04:02 +00:00
Ronald S. Bultje
2878450876 examples/gstplay/player.c: Don't iterate.
Original commit message from CVS:
* examples/gstplay/player.c: (main):
Don't iterate.
* examples/seeking/seek.c: (fixate), (make_playerbin_pipeline):
Add visualizations.
* ext/a52dec/gsta52dec.c: (gst_a52dec_push),
(gst_a52dec_handle_frame):
Set duration.
* ext/dvdnav/gst-dvd:
Add audioconvert. Fixes #161325.
* ext/dvdread/dvdreadsrc.c: (dvdreadsrc_get):
Explicitely case to gint64. Possible valgrind error.
* gst-libs/gst/play/play.c: (caps_set), (setup_size),
(gst_play_tick_callback), (gst_play_change_state),
(gst_play_dispose), (gst_play_init), (gst_play_class_init),
(gst_play_set_location), (gst_play_get_location),
(gst_play_seek_to_time), (gst_play_set_data_src),
(gst_play_set_video_sink), (gst_play_set_audio_sink),
(gst_play_set_visualization), (gst_play_connect_visualization),
(gst_play_get_framerate), (gst_play_get_all_by_interface),
(gst_play_new):
Use playbin. Fixes #139749 and #147744.
* gst/apetag/apedemux.c: (gst_ape_demux_parse_tags):
Add genre tag.
* gst/audioscale/gstaudioscale.c: (gst_audioscale_method_get_type),
(audioscale_get_type), (gst_audioscale_base_init),
(gst_audioscale_class_init), (gst_audioscale_expand_caps),
(gst_audioscale_getcaps), (gst_audioscale_fixate),
(gst_audioscale_link), (gst_audioscale_get_buffer),
(gst_audioscale_decrease_rate), (gst_audioscale_increase_rate),
(gst_audioscale_init), (gst_audioscale_dispose),
(gst_audioscale_chain), (gst_audioscale_set_property),
(gst_audioscale_get_property), (plugin_init):
Indent properly.
* gst/mpegstream/gstdvddemux.c: (gst_dvd_demux_process_private):
Fix LPCM.
* gst/qtdemux/qtdemux.c: (qtdemux_parse_udta),
(qtdemux_tag_add_str), (qtdemux_tag_add_num),
(qtdemux_tag_add_gnre), (qtdemux_video_caps):
Add more metadata (fixes #162656).
2005-01-05 14:56:27 +00:00
Ronald S. Bultje
1f78c719cb gst-libs/gst/riff/riff-media.c: Add BLZ0 (Blizzard's version of DivX) fourcc.
Original commit message from CVS:
* gst-libs/gst/riff/riff-media.c:
(gst_riff_create_video_caps_with_data):
Add BLZ0 (Blizzard's version of DivX) fourcc.
2004-12-19 11:10:32 +00:00
Ronald S. Bultje
b1fa159e5f gst-libs/gst/riff/riff-read.c: Read extradata correctly (fixes #155879).
Original commit message from CVS:
* gst-libs/gst/riff/riff-read.c:
(gst_riff_read_strf_auds_with_data):
Read extradata correctly (fixes #155879).
2004-12-16 23:57:26 +00:00
Ronald S. Bultje
d8a9cb2933 gst-libs/gst/riff/riff-media.c: Add h264.
Original commit message from CVS:
* gst-libs/gst/riff/riff-media.c:
(gst_riff_create_video_caps_with_data),
(gst_riff_create_video_template_caps):
Add h264.
2004-12-16 20:30:00 +00:00
Ronald S. Bultje
4f6378f237 gst-libs/gst/audio/Makefile.am: Try to fix buildbot.
Original commit message from CVS:
* gst-libs/gst/audio/Makefile.am:
Try to fix buildbot.
2004-12-16 19:45:32 +00:00
Ronald S. Bultje
2439970ffd gst/: Fix memleak (#159215).
Original commit message from CVS:
Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
* gst-libs/gst/resample/resample.c: (gst_resample_close):
* gst-libs/gst/resample/resample.h:
* gst/audioscale/gstaudioscale.c:
Fix memleak (#159215).
2004-12-16 11:39:00 +00:00
David Schleef
e803c9f86d configure.ac: add audioresample and cairo plugins. Remove
Original commit message from CVS:
* configure.ac: add audioresample and cairo plugins.  Remove
HAVE_MMX stuff, because it's not used.
* ext/Makefile.am: same
* ext/audioresample/Makefile.am: You are not ready for an
audio resampling element based on audioresample.
* ext/audioresample/gstaudioresample.c:
* ext/audioresample/gstaudioresample.h:
* ext/cairo/Makefile.am: You are not ready for overlay elements
based on cairo.  Don't look too closely, these elements kinda
suck right now.
* ext/cairo/gstcairo.c: new
* ext/cairo/gsttextoverlay.c: new
* ext/cairo/gsttextoverlay.h: new
* ext/cairo/gsttimeoverlay.c: new
* ext/cairo/gsttimeoverlay.h: new
* gst-libs/gst/media-info/media-info-priv.h: fix compile
problem with compilers that don't support variadic macros.
2004-12-16 05:32:07 +00:00
Stéphane Loeuillet
7ee764ec09 forgot to add H264 to avidemux template caps
Original commit message from CVS:
forgot to add H264 to avidemux template caps
2004-12-13 18:09:34 +00:00
Stéphane Loeuillet
403876e637 add VSSH (VideoSoft h264) and remove s323 (h323) from riff-lib because s323 is quicktime specific
Original commit message from CVS:
add VSSH (VideoSoft h264) and remove s323 (h323) from riff-lib
because s323 is quicktime specific
2004-12-13 12:11:57 +00:00
Stéphane Loeuillet
fc108fdf7c gst/asfdemux/README gst/wavenc/riff.h gst-libs/gst/riff/riff-ids.h gst-libs/gst/riff/riff-media.c add new 4CC codes f...
Original commit message from CVS:
* gst/asfdemux/README
* gst/wavenc/riff.h
* gst-libs/gst/riff/riff-ids.h
* gst-libs/gst/riff/riff-media.c
add new 4CC codes for h263 related codecs
fixes partially bug #155163
2004-12-13 00:47:20 +00:00
Ronald S. Bultje
461861f3de ext/faad/gstfaad.c: Set DURATION even if source buffer didn't. Also use increasing timestamps.
Original commit message from CVS:
* ext/faad/gstfaad.c: (gst_faad_chanpos_from_gst),
(gst_faad_chanpos_to_gst), (gst_faad_chain):
Set DURATION even if source buffer didn't. Also use increasing
timestamps.
* gst-libs/gst/riff/riff-media.c:
(gst_riff_create_audio_caps_with_data):
Block_align can have larger values than 8192.
2004-12-03 15:34:19 +00:00
Ronald S. Bultje
bf470fb7b3 ext/esd/esdsink.c: Make error actually say something useful (fixes #156798).
Original commit message from CVS:
* ext/esd/esdsink.c: (gst_esdsink_chain):
Make error actually say something useful (fixes #156798).
* gst-libs/gst/riff/riff-media.c:
(gst_riff_create_video_caps_with_data),
(gst_riff_create_video_template_caps):
Add Intel Video 5.0 fourcc (IV50).
2004-12-01 20:42:01 +00:00
Ronald S. Bultje
a91586eee0 gst-libs/gst/riff/riff-read.c: Don't forward DISCONT events (fixes #159684).
Original commit message from CVS:
Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
* gst-libs/gst/riff/riff-read.c: (gst_riff_read_use_event):
Don't forward DISCONT events (fixes #159684).
2004-12-01 13:23:39 +00:00
Martin Soto
3b48708b77 gst-libs/gst/audio/audioclock.c (gst_audio_clock_set_active)
Original commit message from CVS:
2004-11-27  Martin Soto  <martinsoto@users.sourceforge.net>

* gst-libs/gst/audio/audioclock.c (gst_audio_clock_set_active)
(gst_audio_clock_get_internal_time):
Fix active <-> inactive transitions: ensure time value always
grows and avoid abrupt value changes.
2004-11-27 09:37:20 +00:00
Ronald S. Bultje
bf45760b33 Surround sound support.
Original commit message from CVS:
* ext/a52dec/gsta52dec.c: (gst_a52dec_channels), (gst_a52dec_push),
(gst_a52dec_reneg), (gst_a52dec_loop), (plugin_init):
* ext/alsa/gstalsa.c: (gst_alsa_get_caps):
* ext/alsa/gstalsaplugin.c: (plugin_init):
* ext/dts/gstdtsdec.c: (gst_dtsdec_channels),
(gst_dtsdec_renegotiate), (gst_dtsdec_loop), (plugin_init):
* ext/faad/gstfaad.c: (gst_faad_init), (gst_faad_chanpos_from_gst),
(gst_faad_chanpos_to_gst), (gst_faad_sinkconnect),
(gst_faad_srcgetcaps), (gst_faad_srcconnect), (gst_faad_chain),
(gst_faad_change_state), (plugin_init):
* ext/faad/gstfaad.h:
* ext/vorbis/vorbis.c: (plugin_init):
* ext/vorbis/vorbisdec.c: (vorbis_dec_chain):
* gst-libs/gst/audio/Makefile.am:
* gst-libs/gst/audio/audio.c: (plugin_init):
* gst-libs/gst/audio/multichannel.c:
(gst_audio_check_channel_positions),
(gst_audio_get_channel_positions),
(gst_audio_set_channel_positions),
(gst_audio_set_structure_channel_positions_list),
(add_list_to_struct), (gst_audio_set_caps_channel_positions_list),
(gst_audio_fixate_channel_positions):
* gst-libs/gst/audio/multichannel.h:
* gst-libs/gst/audio/testchannels.c: (main):
* gst/audioconvert/gstaudioconvert.c:
(gst_audio_convert_class_init), (gst_audio_convert_init),
(gst_audio_convert_dispose), (gst_audio_convert_getcaps),
(gst_audio_convert_parse_caps), (gst_audio_convert_link),
(gst_audio_convert_fixate), (gst_audio_convert_channels):
* gst/audioconvert/plugin.c: (plugin_init):
Surround sound support.
2004-11-25 20:36:29 +00:00
Johan Dahlin
3158c8b501 Fix another typo in doc string :)
Original commit message from CVS:
Fix another typo in doc string :)
2004-11-25 12:54:24 +00:00
Johan Dahlin
8e1598dce5 Fix typo in doc string
Original commit message from CVS:
Fix typo in doc string
2004-11-25 12:52:24 +00:00
Benjamin Otte
744f2da62b ext/alsa/gstalsa.c: buffer-frames property was missing
Original commit message from CVS:
* ext/alsa/gstalsa.c: (gst_alsa_get_caps_internal):
buffer-frames property was missing
* ext/arts/gst_arts.c:
rate missing from sinkcaps
* ext/audiofile/gstafparse.c:
* ext/audiofile/gstafsink.c:
* ext/audiofile/gstafsrc.c:
* ext/swfdec/gstswfdec.c:
int audio doesn't know buffer-frames
* ext/cdparanoia/gstcdparanoia.c:
int audio doesn't know chunksize either
* ext/nas/nassink.c:
it's endianness, not endianess
* gst-libs/gst/audio/audio.h:
make float standard pad template caps really describe float
* gst/law/mulaw.c: (linear_factory):
signed only, please
* gst/mpegstream/gstdvddemux.c:
widths of 20 are not valid
2004-11-09 06:08:22 +00:00
Jan Schmidt
172eaade07 Fixes a bunch of problems with finalize and dispose functions, either assumptions that dispose is only called once, o...
Original commit message from CVS:
* 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
2004-11-01 14:43:38 +00:00
Jan Schmidt
b3dd7657aa ext/dv/gstdvdec.c: Set EOS on the element when processing an EOS event.
Original commit message from CVS:
* ext/dv/gstdvdec.c: (gst_dvdec_handle_sink_event):
Set EOS on the element when processing an EOS event.
* ext/speex/gstspeexdec.h:
* ext/speex/gstspeexenc.h:
Only keep a const ptr to the mode
* gst-libs/gst/riff/riff-media.c:
(gst_riff_create_audio_caps_with_data),
(gst_riff_create_audio_template_caps):
Allow WMAV3, with up to 6 channels.
* gst/asfdemux/gstasfmux.c: (gst_asfmux_request_new_pad):
Don't call gst_pad_set_event_function on a sink pad.
* gst/mpegstream/gstdvddemux.c:
(gst_dvd_demux_get_subpicture_stream),
(gst_dvd_demux_set_cur_audio), (gst_dvd_demux_set_cur_subpicture):
Copy the explicit caps that were set across to the cur_* pads,
instead of trying to use a possibly non-existent negotiated caps.
Reset the type of subpicture pads to UNKNOWN after calling init_stream,
so that the caps get set.
2004-10-30 06:44:03 +00:00
Zaheer Abbas Merali
984c7cffd6 gst-libs/gst/audio/gstaudiofilter.c: fix build
Original commit message from CVS:
2004-10-28  Zaheer Abbas Merali  <zaheerabbas at merali dot org>

* gst-libs/gst/audio/gstaudiofilter.c: (gst_audiofilter_link):
fix build
2004-10-28 12:51:23 +00:00
Benjamin Otte
9f6a8d8654 gst-libs/gst/audio/gstaudiofilter.c: fix link function to always query channels and query width for floats
Original commit message from CVS:
* gst-libs/gst/audio/gstaudiofilter.c: (gst_audiofilter_link):
fix link function to always query channels and query width for
floats
* configure.ac:
add equalizer dir
* gst/equalizer/Makefile.am:
* gst/equalizer/gstiirequalizer.c: (gst_iir_equalizer_get_type),
(gst_iir_equalizer_base_init), (gst_iir_equalizer_class_init),
(gst_iir_equalizer_init), (gst_iir_equalizer_finalize),
(arg_to_scale), (setup_filter),
(gst_iir_equalizer_compute_frequencies),
(gst_iir_equalizer_set_property), (gst_iir_equalizer_get_property),
(gst_iir_equalizer_filter_inplace), (gst_iir_equalizer_setup),
(plugin_init):
add an equalizer
2004-10-28 02:33:48 +00:00
Ronald S. Bultje
fc113f4c39 gst-libs/gst/riff/riff-media.c: WMV3 missing in template caps.
Original commit message from CVS:
* gst-libs/gst/riff/riff-media.c:
(gst_riff_create_video_template_caps):
WMV3 missing in template caps.
2004-10-09 19:55:30 +00:00
Stéphane Loeuillet
c26602d02d gst/wavparse/gstwavparse.c: add ATRAC3 to STATIC CAPS to fix a warning
Original commit message from CVS:
* gst/wavparse/gstwavparse.c:
add ATRAC3 to STATIC CAPS to fix a warning

* gst/matroska/ebml-read.c:
* gst-libs/gst/riff/riff-read.c:
fix typos
2004-10-06 15:12:08 +00:00
Stéphane Loeuillet
b425777f9e gst-libs/gst/riff/riff-media.c: generate caps for ATRAC3 audio streams
Original commit message from CVS:
* gst-libs/gst/riff/riff-media.c:
generate caps for ATRAC3 audio streams

* gst/realmedia/rmdemux.c:
generate caps for ATRAC3 audio streams
2004-10-06 14:18:13 +00:00
Stéphane Loeuillet
5948a7f2f0 gst/wavparse/gstwavparse.h remove duplicated defines for audio codec codes gst-libs/gst/riff/riff-ids.h
Original commit message from CVS:
* gst/wavparse/gstwavparse.h
remove duplicated defines for audio codec codes

* gst-libs/gst/riff/riff-ids.h
* gst/wavenc/riff.h:
add "4CC" code for ATRAC3 audio streams
add "4CC" code for ITU_G721_ADPCM (unused for now)
2004-10-06 14:11:56 +00:00
Ronald S. Bultje
36979491f1 gst-libs/gst/riff/riff-media.c: Add wing commander format mimetype/fourccs.
Original commit message from CVS:
* gst-libs/gst/riff/riff-media.c:
(gst_riff_create_video_caps_with_data),
(gst_riff_create_video_template_caps):
Add wing commander format mimetype/fourccs.
* gst/avi/gstavidemux.c: (gst_avi_demux_massage_index):
Don't crash if some value is 0.
2004-10-02 20:27:03 +00:00
Ronald S. Bultje
da9c830916 gst-libs/gst/riff/riff-media.c: Add DIB fourcc (raw, palettized 8-bit RGB).
Original commit message from CVS:
* gst-libs/gst/riff/riff-media.c:
(gst_riff_create_video_caps_with_data),
(gst_riff_create_video_template_caps):
Add DIB fourcc (raw, palettized 8-bit RGB).
* gst-libs/gst/riff/riff-read.c:
(gst_riff_read_strf_vids_with_data):
Oops, fix strf_data reading bug.
* gst/avi/gstavidemux.c: (gst_avi_demux_add_stream):
Use a non-NULL tag.
* gst/qtdemux/qtdemux.c: (qtdemux_parse_trak):
Time for hacks. Sorry Dave. At least one quicktime movie (a
trailer) that I've encountered contains multiple video tracks.
One of those is the actual video track, the other are one-frame
tracks (images). Unfortunately, the number of frames according
to the trak header is 1 for each, so that doesn't help. So
instead, I look at the duration and discard tracks with a
duration shorter than 20% of the length of the stream. Better
than nothing.
2004-10-02 14:10:19 +00:00
Ronald S. Bultje
1b6c3e0efa gst-libs/gst/riff/riff-media.c: Add codec_data handling (like asfdemux used to do).
Original commit message from CVS:
* gst-libs/gst/riff/riff-media.c:
(gst_riff_create_video_caps_with_data),
(gst_riff_create_audio_caps_with_data):
Add codec_data handling (like asfdemux used to do).
* gst/asfdemux/gstasf.c: (plugin_init):
* gst/asfdemux/gstasfdemux.c: (gst_asf_demux_base_init),
(gst_asf_demux_add_audio_stream), (gst_asf_demux_add_video_stream):
Use riff-media for caps creation instead of our own (mostly
broken) copy of its functions.
2004-10-01 10:50:57 +00:00
Ronald S. Bultje
f6aebbe1a3 ext/dvdread/dvdreadsrc.c: Fix. Don't do one big huge loop around the whole DVD, that will cache all data and thus eat...
Original commit message from CVS:
* ext/dvdread/dvdreadsrc.c: (dvdreadsrc_class_init),
(dvdreadsrc_init), (dvdreadsrc_dispose), (dvdreadsrc_set_property),
(dvdreadsrc_get_property), (_open), (_seek), (_read),
(dvdreadsrc_get), (dvdreadsrc_open_file),
(dvdreadsrc_change_state):
Fix. Don't do one big huge loop around the whole DVD, that will
cache all data and thus eat sizeof(dvd) (several GB) before we
see something.
* gst-libs/gst/riff/riff-read.c: (gst_riff_read_seek):
Actually NULL'ify event after using it.
* gst/matroska/ebml-read.c: (gst_ebml_read_use_event),
(gst_ebml_read_handle_event), (gst_ebml_read_element_id),
(gst_ebml_read_element_length), (gst_ebml_read_element_data),
(gst_ebml_read_seek), (gst_ebml_read_skip):
Handle events.
* gst/mpegstream/gstdvddemux.c: (gst_dvd_demux_base_init),
(gst_dvd_demux_init), (gst_dvd_demux_get_audio_stream),
(gst_dvd_demux_get_subpicture_stream), (gst_dvd_demux_plugin_init):
Fix timing (this will probably break if I seek using menus, but
I didn't get there yet). VOBs and normal DVDs should now work.
Add a mpeg2-only pad with high rank so this get autoplugged for
MPEG-2 movies.
* gst/mpegstream/gstmpegdemux.c: (gst_mpeg_demux_base_init),
(gst_mpeg_demux_class_init), (gst_mpeg_demux_init),
(gst_mpeg_demux_new_output_pad), (gst_mpeg_demux_get_video_stream),
(gst_mpeg_demux_get_audio_stream),
(gst_mpeg_demux_get_private_stream), (gst_mpeg_demux_parse_packet),
(gst_mpeg_demux_parse_pes), (gst_mpeg_demux_plugin_init):
Use this as second rank for MPEG-1 and MPEG-2. Still use this for
MPEG-1 but use dvddemux for MPEG-2.
* gst/mpegstream/gstmpegparse.c: (gst_mpeg_parse_class_init),
(gst_mpeg_parse_init), (gst_mpeg_parse_new_pad),
(gst_mpeg_parse_parse_packhead):
Timing. Only add pad template if it exists. Add sink template from
class and not from ourselves. This means we will always use the
correct sink template even if it is not the one defined in this
file.
2004-10-01 08:42:56 +00:00
Ronald S. Bultje
2b6b70f42c ext/flac/gstflacdec.c: Only return true if we actually filled something in. Prevents player applications from showing...
Original commit message from CVS:
* ext/flac/gstflacdec.c: (gst_flacdec_src_query):
Only return true if we actually filled something in. Prevents
player applications from showing a random length for flac files.
* gst-libs/gst/riff/riff-read.c: (gst_riff_read_class_init),
(gst_riff_read_use_event), (gst_riff_read_handle_event),
(gst_riff_read_seek), (gst_riff_read_skip), (gst_riff_read_strh),
(gst_riff_read_strf_vids_with_data),
(gst_riff_read_strf_auds_with_data), (gst_riff_read_strf_iavs):
OK, ok, so I implemented event handling. Apparently it's normal
that we receive random events at random points without asking
for it.
* gst/avi/gstavidemux.c: (gst_avi_demux_reset),
(gst_avi_demux_src_convert), (gst_avi_demux_handle_src_query),
(gst_avi_demux_handle_src_event), (gst_avi_demux_stream_index),
(gst_avi_demux_sync), (gst_avi_demux_stream_scan),
(gst_avi_demux_massage_index), (gst_avi_demux_stream_header),
(gst_avi_demux_handle_seek), (gst_avi_demux_process_next_entry),
(gst_avi_demux_stream_data), (gst_avi_demux_loop):
* gst/avi/gstavidemux.h:
Implement non-lineair chunk handling and subchunk processing.
The first solves playback of AVI files where the audio and video
data of individual buffers that we read are not synchronized.
This should not happen according to the wonderful AVI specs, but
of course it does happen in reality. It is also a prerequisite for
the second. Subchunk processing allows us to cut chunks in small
pieces and process each of these pieces separately. This is
required because I've seen several AVI files with incredibly large
audio chunks, even some files with only one audio chunk for the
whole file. This allows for proper playback including seeking.
This patch is supposed to fix all AVI A/V sync issues.
* gst/flx/gstflxdec.c: (gst_flxdec_class_init),
(flx_decode_chunks), (flx_decode_color), (gst_flxdec_loop):
Work.
* gst/modplug/gstmodplug.cc:
Proper return value setting for the query() function.
* gst/playback/gstplaybasebin.c: (setup_source):
Being in non-playing state (after, e.g., EOS) is not necessarily
a bad thing. Allow for that. This fixes playback of short files.
They don't actually playback fully now, because the clock already
runs. This means that small files (<500kB) with a small length
(<2sec) will still not or barely play. Other files, such as mod
or flx, will work correctly, however.
2004-09-29 09:45:40 +00:00
Ronald S. Bultje
0771c17fed ext/dirac/: Do something. Don't actually know if this works because I don't have a demuxer yet.
Original commit message from CVS:
* ext/dirac/Makefile.am:
* ext/dirac/gstdirac.cc:
* ext/dirac/gstdiracdec.cc:
* ext/dirac/gstdiracdec.h:
Do something. Don't actually know if this works because I don't
have a demuxer yet.
* ext/gsm/gstgsmdec.c: (gst_gsmdec_getcaps):
Add channels=1 to caps returned from _getcaps().
* ext/ogg/gstogmparse.c: (gst_ogm_audio_parse_get_type),
(gst_ogm_video_parse_get_type), (gst_ogm_audio_parse_base_init),
(gst_ogm_video_parse_base_init), (gst_ogm_parse_init),
(gst_ogm_audio_parse_init), (gst_ogm_video_parse_init),
(gst_ogm_parse_sink_convert), (gst_ogm_parse_chain),
(gst_ogm_parse_change_state):
Separate between audio/video so ogmaudioparse actually uses the
audio pad templates. Both audio and video work now, including
autoplugging. Also use sometimes-srcpad hack.
* gst-libs/gst/riff/riff-read.c: (gst_riff_read_seek):
Handle events better. Don't hang on infinite loops.
* gst/avi/gstavidemux.c: (gst_avi_demux_class_init),
(gst_avi_demux_init), (gst_avi_demux_reset),
(gst_avi_demux_src_convert), (gst_avi_demux_handle_src_query),
(gst_avi_demux_stream_header), (gst_avi_demux_stream_data),
(gst_avi_demux_change_state):
* gst/avi/gstavidemux.h:
Improve A/V sync. Still not perfect.
* gst/matroska/ebml-read.c: (gst_ebml_read_seek),
(gst_ebml_read_skip):
Handle events better.
* gst/qtdemux/qtdemux.c: (gst_qtdemux_handle_sink_event),
(gst_qtdemux_loop_header), (qtdemux_parse_trak),
(qtdemux_audio_caps):
Add IMA4. Improve event handling. Save offset after a seek when
the headers are at the end of the file so that we don't end up in
an infinite loop.
* gst/typefind/gsttypefindfunctions.c: (qt_type_find):
Add low-priority typefind support for files with no length.
2004-09-23 14:59:22 +00:00
Christophe Fergeau
ce7df5b382 gst-libs/gst/riff/riff-read.c: fix infinite loop in wavparse, fixes bug
Original commit message from CVS:
2004-08-24  Sebastien Cote  <sc5@hermes.usherb.ca>

* gst-libs/gst/riff/riff-read.c: (gst_riff_peek_head),
(gst_riff_read_element_data), (gst_riff_read_seek),
(gst_riff_read_skip): fix infinite loop in wavparse, fixes bug
#144616, patch reviewed by Ronald and committed by Christophe Fergeau
<teuf@gnome.org>
2004-08-24 18:25:02 +00:00
David Schleef
595055ea7a gst-libs/gst/video/videosink.h: Change copyright block to LGPL.
Original commit message from CVS:
* gst-libs/gst/video/videosink.h: Change copyright block to LGPL.
2004-08-11 21:19:13 +00:00
David Schleef
b14c2fe0df ext/pango/gsttextoverlay.c: Add copyright block and fix plugin license field
Original commit message from CVS:
* ext/pango/gsttextoverlay.c: Add copyright block and fix plugin
license field
* gst-libs/gst/idct/Makefile.am: Remove mmx/sse code
* gst-libs/gst/video/gstvideosink.c: Change copyright block to
LGPL.
* gst/auparse/gstauparse.c: Fix plugin license field.
* gst/monoscope/gstmonoscope.c: Fix plugin license field.
* gst/mpeg1sys/gstmpeg1systemencode.c: Fix plugin license field.
* gst/rtp/gstrtp.c: Fix plugin license field.
2004-08-11 21:06:48 +00:00
Brian Cameron
afb68c99c1 Finished removing GPL'ed MMX code.
Original commit message from CVS:
Finished removing GPL'ed MMX code.
2004-08-09 21:30:09 +00:00
Brian Cameron
529b48cf89 Remove GPL'ed mmx32idct.c code and supporting code, since logic in gst-plugins is not supposed to be GPL'ed. This co...
Original commit message from CVS:
Remove GPL'ed mmx32idct.c code and supporting code, since logic in gst-plugins
is not supposed to be GPL'ed.  This code provided MMX optimisations, but was
never compiled in since configure never set HAVE_LIBMMX anyway.
2004-08-09 21:21:25 +00:00
Benjamin Otte
c870aeb9ce fixes for G_DISABLE_ASSERT and friends
Original commit message from CVS:
* examples/dynparams/filter.c: (ui_control_create):
* examples/gstplay/player.c: (print_tag):
* ext/alsa/gstalsa.c: (gst_alsa_request_new_pad):
* ext/gdk_pixbuf/gstgdkanimation.c:
(gst_gdk_animation_iter_may_advance):
* ext/jack/gstjack.c: (gst_jack_request_new_pad):
* ext/mad/gstid3tag.c: (gst_mad_id3_to_tag_list),
(tag_list_to_id3_tag_foreach), (gst_id3_tag_handle_event):
* ext/vorbis/oggvorbisenc.c: (gst_oggvorbisenc_get_tag_value):
* ext/vorbis/vorbisenc.c: (gst_vorbisenc_get_tag_value):
* ext/xine/xineaudiodec.c: (gst_xine_audio_dec_chain):
* gst-libs/gst/media-info/media-info-test.c: (print_tag):
* gst/sine/demo-dparams.c: (main):
* gst/tags/gstvorbistag.c: (gst_tag_to_vorbis_comments):
* testsuite/alsa/formats.c: (create_pipeline):
* testsuite/alsa/sinesrc.c: (sinesrc_force_caps), (sinesrc_get):
fixes for G_DISABLE_ASSERT and friends
* gst/typefind/gsttypefindfunctions.c: (aac_type_find),
(mp3_type_frame_length_from_header), (mp3_type_find),
(plugin_init):
require mp3 typefinding to have at least MIN_HEADERS valid headers
add typefinding for AAC adts files
2004-08-03 14:28:12 +00:00
Thomas Vander Stichele
2ca5cb14e5 don't install marshal header
Original commit message from CVS:
don't install marshal header
2004-07-30 18:18:20 +00:00
Thomas Vander Stichele
f4f262ce2d don't use stupid colorspace, do use hermes, make macro, mark for translation
Original commit message from CVS:
don't use stupid colorspace, do use hermes, make macro, mark for translation
2004-07-30 13:41:55 +00:00
Thomas Vander Stichele
5313fb986a no need to link in setup stage
Original commit message from CVS:
no need to link in setup stage
2004-07-28 16:22:53 +00:00
Steve Lhomme
5012fef332 more working plugins
Original commit message from CVS:
more working plugins
2004-07-27 21:41:30 +00:00
Steve Lhomme
7af92d22f2 rename GStreamer-0.8.lib to libgstreamer.lib
Original commit message from CVS:
rename GStreamer-0.8.lib to libgstreamer.lib
2004-07-27 09:57:33 +00:00
Steve Lhomme
017c7b22b8 avoid problems with math.h, fix release dependancy
Original commit message from CVS:
avoid problems with math.h, fix release dependancy
2004-07-27 09:48:51 +00:00
Steve Lhomme
6d5553036e add more plugins to the build add some definitions needed by plugins fixes for build problems
Original commit message from CVS:
add more plugins to the build
add some definitions needed by plugins
fixes for build problems
2004-07-26 22:09:59 +00:00
Steve Lhomme
352a0f316a more plugins supported under windows
Original commit message from CVS:
more plugins supported under windows
2004-07-26 10:03:16 +00:00
Steve Lhomme
9a26a084c8 cleaned the makefiles
Original commit message from CVS:
cleaned the makefiles
2004-07-25 11:14:04 +00:00
Steve Lhomme
591a24bc35 Copy the files where needed after building, cleaner projects
Original commit message from CVS:
Copy the files where needed after building, cleaner projects
2004-07-25 10:33:07 +00:00
Steve Lhomme
517f161077 Clean the local include
Original commit message from CVS:
Clean the local include
2004-07-25 10:28:05 +00:00
Steve Lhomme
af8ac37195 ok, that was not very clean
Original commit message from CVS:
ok, that was not very clean
2004-07-25 10:20:12 +00:00
Steve Lhomme
7f4028ce85 Add the preliminary canvas to build plugins on Win32
Original commit message from CVS:
Add the preliminary canvas to build plugins on Win32
2004-07-24 21:11:31 +00:00
Ronald S. Bultje
d5d62b8c61 gst-libs/gst/riff/riff-media.c: Fix double end-to-native symbol conversion (#148021).
Original commit message from CVS:
* gst-libs/gst/riff/riff-media.c:
(gst_riff_create_audio_caps_with_data):
Fix double end-to-native symbol conversion (#148021).
2004-07-20 21:06:35 +00:00
Wim Taymans
736e529e7c gst/: Make sure we don't create 0 sized subbufers in riff-read.
Original commit message from CVS:
* gst-libs/gst/riff/riff-read.c:
(gst_riff_read_strf_vids_with_data),
(gst_riff_read_strf_auds_with_data):
* gst/avi/gstavidemux.c: (gst_avi_demux_handle_src_query),
(gst_avi_demux_add_stream), (gst_avi_demux_stream_header):
Make sure we don't create 0 sized subbufers in riff-read.
Signal the no more pads signal after reading the avi header.
2004-07-16 10:50:49 +00:00
Wim Taymans
bccfaef0e2 gst-libs/gst/video/video.h: Added 32 bits RGBA. Not sure if we should use another mime-type for alpha rgb. Currently ...
Original commit message from CVS:
* gst-libs/gst/video/video.h:
Added 32 bits RGBA. Not sure if we should use another mime-type
for alpha rgb. Currently the presence of the alpha_mask property
signals an alpha channel. Ronald?
2004-07-16 10:40:54 +00:00
Ronald S. Bultje
931758cb24 gst-libs/gst/riff/riff-media.c: mp42/mp43 (no caps) exist too.
Original commit message from CVS:
* gst-libs/gst/riff/riff-media.c:
(gst_riff_create_video_caps_with_data):
mp42/mp43 (no caps) exist too.
* gst/matroska/matroska-demux.c: (gst_matroska_demux_video_caps):
Set pixel_width/height; we've got them in-caps.
* gst/typefind/gsttypefindfunctions.c: (plugin_init):
* gst/wavparse/gstwavparse.c: (plugin_init):
Both are valid primary.
* sys/oss/gstossmixer.c:
Remove i18n hack and enable translations.
2004-07-15 23:56:04 +00:00
Wim Taymans
666cacd22f gst/: Set codec_data on caps for avidemuxer.
Original commit message from CVS:
* gst-libs/gst/riff/riff-media.c:
(gst_riff_create_audio_caps_with_data),
(gst_riff_create_audio_caps),
(gst_riff_create_audio_template_caps):
* gst-libs/gst/riff/riff-media.h:
* gst-libs/gst/riff/riff-read.c:
(gst_riff_read_strf_vids_with_data),
(gst_riff_read_strf_auds_with_data), (gst_riff_read_strf_auds):
* gst-libs/gst/riff/riff-read.h:
* gst/avi/gstavidemux.c: (gst_avi_demux_handle_src_query),
(gst_avi_demux_add_stream):
Set codec_data on caps for avidemuxer.
2004-07-13 10:24:29 +00:00
Wim Taymans
f20b4f68be gst-libs/gst/riff/riff-media.c: Fix the template caps to include some more media types.
Original commit message from CVS:
* gst-libs/gst/riff/riff-media.c: (gst_riff_create_audio_caps),
(gst_riff_create_video_template_caps):
Fix the template caps to include some more media types.
2004-07-12 11:41:51 +00:00
Thomas Vander Stichele
c7b8dc09e1 ignore more
Original commit message from CVS:
ignore more
2004-07-12 10:13:46 +00:00
Thomas Vander Stichele
0b75287181 don't assert in state change
Original commit message from CVS:
don't assert in state change
2004-07-09 10:56:51 +00:00
Thomas Vander Stichele
9569929252 new method. various debugging
Original commit message from CVS:
new method.  various debugging
2004-07-08 17:34:08 +00:00
Thomas Vander Stichele
b0be7c0cdd use macro to hash lookup
Original commit message from CVS:
use macro to hash lookup
2004-07-08 14:38:48 +00:00
Thomas Vander Stichele
3a29006258 gst-libs/gst/play/play.c: - add debugging info
Original commit message from CVS:

* gst-libs/gst/play/play.c: (gst_play_pipeline_setup),
(gst_play_get_length_callback), (gst_play_set_location),
(gst_play_seek_to_time), (gst_play_set_data_src),
(gst_play_set_video_sink), (gst_play_set_audio_sink),
(gst_play_set_visualization), (gst_play_connect_visualization),
(gst_play_get_sink_element):
- add debugging info
- fix looking up sink elements by iterating over complete caps
- put everything except for source and autoplugger in a complete bin
2004-07-08 13:44:06 +00:00
David Schleef
2188fceb6e gst-libs/gst/xoverlay/Makefile.am: xoverlay no longer depends on X. (bug #144753)
Original commit message from CVS:
* gst-libs/gst/xoverlay/Makefile.am: xoverlay no longer depends
on X.  (bug #144753)
2004-07-03 03:06:34 +00:00
Thomas Vander Stichele
3ea45208c4 clean up install/dist problem
Original commit message from CVS:
clean up install/dist problem
2004-07-02 10:02:13 +00:00
Thomas Vander Stichele
4f5bb5fc3a unbreak install
Original commit message from CVS:
unbreak install
2004-06-27 15:42:15 +00:00
Iain Holmes
ec5b0c5c40 Add name=source to the wavparse pipeline
Original commit message from CVS:
Add name=source to the wavparse pipeline
2004-06-25 11:57:25 +00:00
Benjamin Otte
838bc54084 don't include -enumtypes.[ch] or -marshal.[ch] files in the disted tarball.
Original commit message from CVS:
* gst-libs/gst/colorbalance/Makefile.am:
* gst-libs/gst/mixer/Makefile.am:
* gst-libs/gst/play/Makefile.am:
* gst-libs/gst/tuner/Makefile.am:
* gst/tcp/Makefile.am:
* sys/dxr3/Makefile.am:
don't include -enumtypes.[ch] or -marshal.[ch] files in the disted
tarball.
Also add all *.list files that were missing.
* Makefile.am:
add a distcheck hook to ensure the above doesn't happen again.
2004-06-24 01:43:55 +00:00
Zaheer Abbas Merali
85222e4aa1 fixed a potential leak with previous commit
Original commit message from CVS:
2004-06-15  Zaheer Abbas Merali  <zaheerabbas at merali.org>

fixed a potential leak with previous commit

* gst-libs/gst/riff/riff-read.c: (gst_riff_peek_head):
2004-06-15 21:58:18 +00:00
Zaheer Abbas Merali
36218938a2 gst-libs/gst/riff/riff-read.c: Added missing refcount, fixes bug #144425
Original commit message from CVS:
2004-06-15  Zaheer Abbas Merali  <zaheerabbas at merali.org>

* gst-libs/gst/riff/riff-read.c: (gst_riff_peek_head):
Added missing refcount, fixes bug #144425
Cheers Tim for finding the bug
2004-06-15 21:25:36 +00:00
Stéphane Loeuillet
2eed99edbf real fix thise time : don't use glib 2.4 specific defines
Original commit message from CVS:
real fix thise time : don't use glib 2.4 specific defines
2004-06-02 12:01:52 +00:00
Stéphane Loeuillet
2a00562bce zaheer :
Original commit message from CVS:
zaheer :
* gst/tcp/gsttcp.c:
* gst/tcp/gsttcpclientsrc.c:
* gst/tcp/gsttcpclientsrc.h:
* gst/tcp/gsttcpserversrc.c:
- portability fix, to compile on OSX
(fixes #143146)

* sys/osxaudio/gstosxaudioelement.c:
* sys/osxaudio/gstosxaudiosink.c:
* sys/osxaudio/gstosxaudiosrc.c:
- compilation warnings on OSX
(fixes #143153)

me :
* ext/vorbis/vorbisdec.c : sign warning fixes

* gst-libs/gst/mixer/mixertrack.c : forgoten include
to define newly used G_MAXINT32, bad owen, bad
2004-06-02 11:47:10 +00:00
Owen Fraser-Green
014fbbc3a4 Added property accessors for mixertrack and mixeroptions.
Original commit message from CVS:
Added property accessors for mixertrack and mixeroptions.
2004-06-01 20:08:52 +00:00
Thomas Vander Stichele
c995758d6a more readable g_error
Original commit message from CVS:
more readable g_error
2004-06-01 08:51:55 +00:00
Stéphane Loeuillet
011ce368b2 gst-libs/gst/tuner/tunerchannel.h: - add a freq_multiplicator field to make the conversion between internal frequency...
Original commit message from CVS:
* gst-libs/gst/tuner/tunerchannel.h:
- add a freq_multiplicator field to make the conversion
between internal frequency unit and Hz
* sys/v4l/gstv4lelement.c:
* sys/v4l2/gstv4l2element.c:
- change default video device to /dev/video0
* sys/v4l/v4l_calls.c:
* sys/v4l2/v4l2_calls.c:
- we only expose frequency to the user in Hz instead of
bastard v4lX unit (either 62.5kHz or 62.5Hz)
2004-05-31 14:16:54 +00:00
Jan Schmidt
65f1dc9e43 ext/vorbis/vorbisdec.c: Initialise b_o_s and e_o_s variables
Original commit message from CVS:
* ext/vorbis/vorbisdec.c: (vorbis_dec_chain):
Initialise b_o_s and e_o_s variables
* gst-libs/gst/riff/riff-media.c:
(gst_riff_create_video_caps_with_data):
Add some unusual fourcc's from mplayer avi's
* gst/multipart/multipartmux.c: (gst_multipart_mux_plugin_init):
Make the muxer have rank GST_RANK_NONE, so it doesn't mess up
autoplugging.
2004-05-31 04:56:55 +00:00
Ronald S. Bultje
2652468b97 ext/alsa/: Add enumerations (as GstMixerOptions). Make correct distinction between input/output tracks. Add capture/p...
Original commit message from CVS:
* ext/alsa/Makefile.am:
* ext/alsa/gstalsamixer.c: (gst_alsa_mixer_interface_init),
(gst_alsa_mixer_build_list), (gst_alsa_mixer_get_volume),
(gst_alsa_mixer_set_volume), (gst_alsa_mixer_set_mute),
(gst_alsa_mixer_set_record), (gst_alsa_mixer_set_option),
(gst_alsa_mixer_get_option):
* ext/alsa/gstalsamixer.h:
* ext/alsa/gstalsamixeroptions.c:
(gst_alsa_mixer_options_get_type),
(gst_alsa_mixer_options_class_init), (gst_alsa_mixer_options_init),
(gst_alsa_mixer_options_new):
* ext/alsa/gstalsamixeroptions.h:
* ext/alsa/gstalsamixertrack.c: (gst_alsa_mixer_track_new):
* ext/alsa/gstalsamixertrack.h:
Add enumerations (as GstMixerOptions). Make correct distinction
between input/output tracks. Add capture/playback private flag.
Use flag to decide on whether to set capture or playback volumes
or switches. Use playback and record switches.
* gst-libs/gst/mixer/Makefile.am:
* gst-libs/gst/mixer/mixer-marshal.list:
* gst-libs/gst/mixer/mixer.c: (gst_mixer_class_init),
(gst_mixer_set_option), (gst_mixer_get_option),
(gst_mixer_mute_toggled), (gst_mixer_record_toggled),
(gst_mixer_volume_changed), (gst_mixer_option_changed):
* gst-libs/gst/mixer/mixer.h:
* gst-libs/gst/mixer/mixeroptions.c: (gst_mixer_options_get_type),
(gst_mixer_options_class_init), (gst_mixer_options_init),
(gst_mixer_options_dispose):
* gst-libs/gst/mixer/mixeroptions.h:
Add GstMixerOptions.
* sys/oss/gstosselement.c: (gst_osselement_class_probe_devices):
Rename Audio Mixer to OSS Mixer (similar to Alsa Mixer). Fix
broken device detection on computers with multiple OSS sound
cards.
2004-05-27 03:36:17 +00:00
Benjamin Otte
1913aba8ed gst-libs/gst/resample/private.h: don't use optimizations that are #if 0'ed
Original commit message from CVS:
* gst-libs/gst/resample/private.h:
don't use optimizations that are #if 0'ed
2004-05-24 16:22:12 +00:00
Stéphane Loeuillet
9360625741 hopefully, fix warnings in asfmux on solaris 10/with forte
Original commit message from CVS:
hopefully, fix warnings in asfmux on solaris 10/with forte
2004-05-24 14:18:56 +00:00
Stéphane Loeuillet
f68a449ea3 third batch : remove ',' at end of enums as they could confuse older gcc, foreign compilers (forte) and gtk-doc (in g...
Original commit message from CVS:
third batch :
remove ',' at end of enums as they could confuse older gcc, foreign compilers (forte) and gtk-doc
(in gst-plugins/gst-libs/ this time)
2004-05-21 23:38:49 +00:00
David Schleef
a36c95cc07 gst-libs/gst/resample/resample.c: Remove use of static temporary buffer. This code was obviously not supposed to las...
Original commit message from CVS:
* gst-libs/gst/resample/resample.c: (gst_resample_sinc_ft_s16),
(gst_resample_sinc_ft_float): Remove use of static temporary
buffer.  This code was obviously not supposed to last long, but
it's stuck in our ABI, so it required a little hack to make it
ABI-compatible.  Fixes #142585.
* gst-libs/gst/resample/resample.h: same.
2004-05-19 06:14:06 +00:00
Stéphane Loeuillet
6e1e401f43 rename WMAx codec defines to be consistent
Original commit message from CVS:
rename WMAx codec defines to be consistent
2004-05-17 16:29:16 +00:00
Ronald S. Bultje
29a157c105 gst-libs/gst/audio/audioclock.c: Fix wrong return type (#142205).
Original commit message from CVS:
reviewed by: Ronald Bultje  <rbultje@ronald.bitfreak.net>
* gst-libs/gst/audio/audioclock.c:
Fix wrong return type (#142205).
2004-05-16 20:55:38 +00:00
Ronald S. Bultje
441b58ad50 gst-libs/gst/riff/riff-read.c: Don't touch events after not owning them anymore.
Original commit message from CVS:
* gst-libs/gst/riff/riff-read.c: (gst_riff_read_seek):
Don't touch events after not owning them anymore.
* gst/wavparse/gstwavparse.c: (gst_wavparse_base_init),
(gst_wavparse_fmt), (gst_wavparse_other),
(gst_wavparse_handle_seek), (gst_wavparse_loop),
(gst_wavparse_pad_convert), (gst_wavparse_pad_query),
(gst_wavparse_srcpad_event):
* gst/wavparse/gstwavparse.h:
Add seeking, fix querying.
2004-05-16 20:06:35 +00:00
Stéphane Loeuillet
a894223464 gst-libs/gst/riff/riff-read.c: - fix INFO tag extraction in RIFF/AVI files because gst_event_unref (event) also freed...
Original commit message from CVS:
* gst-libs/gst/riff/riff-read.c :
- fix INFO tag extraction in RIFF/AVI files
because gst_event_unref (event) also freed taglist
- avoid a mem leak
2004-05-14 17:23:08 +00:00
Stéphane Loeuillet
8913233da2 - typos : unkown => unknown
Original commit message from CVS:
- typos : unkown => unknown
- missing break in RIFF/AVI iavs caps creation (was triggering a gsttag.c assert
2004-05-14 11:39:41 +00:00
Stéphane Loeuillet
98ab8bfd8f gst-libs/gst/riff/riff-ids.h: - add CDXA to the list of RIFF types
Original commit message from CVS:
* gst-libs/gst/riff/riff-ids.h :
- add CDXA to the list of RIFF types
- add plst (playlist ?) to wav chunk list (only diff with wavparse/riff.h)
2004-05-13 11:32:38 +00:00
Stéphane Loeuillet
a580c78ec3 gst/auparse/gstauparse.c: eee (32, 64) only unsupported formats are ADPCM/CCITT G.72x
Original commit message from CVS:
* gst/auparse/gstauparse.c:
fixes a-law, adds mu-law, linear pcm (8,16,24,32), ieee (32, 64)
only unsupported formats are ADPCM/CCITT G.72x
reviewed by Ronald
* gst-libs/gst/audio/audio.h:
adds 24bit depth to PCM (x-raw-int)
2004-05-10 23:55:17 +00:00
Ronald S. Bultje
3ce13c7d99 gst-libs/gst/riff/: Fix for unaligned RIFF files (i.e. where all the chunks together in a LIST chunk are not of the s...
Original commit message from CVS:
* gst-libs/gst/riff/riff-media.c:
(gst_riff_create_video_caps_with_data),
(gst_riff_create_audio_caps),
(gst_riff_create_audio_template_caps):
* gst-libs/gst/riff/riff-read.c: (gst_riff_peek_head):
Fix for unaligned RIFF files (i.e. where all the chunks together
in a LIST chunk are not of the same size as the size given in
the LIST chunk header). Fixes several odd WAVE files. Also fix
ADPCM (block_align property) in audio, so that wavparse based
on this works now as it used to stand-alone.
2004-05-09 15:49:25 +00:00
Iain Holmes
3a1737c076 Rewrote wavparse to use riff-read instead of doing bytestream stuff by hand.
Original commit message from CVS:
Rewrote wavparse to use riff-read instead of doing bytestream stuff by hand.
Made some useful functions in riff-read non-static.
2004-05-08 00:33:39 +00:00
Benjamin Otte
a8aa1e4e44 gst-libs/gst/riff/riff-media.c: audio/x-raw-int with height rules! not. Now it's depth.
Original commit message from CVS:
* gst-libs/gst/riff/riff-media.c: (gst_riff_create_audio_caps):
audio/x-raw-int with height rules! not. Now it's depth.
2004-04-23 02:32:58 +00:00
Benjamin Otte
294a7f0fc9 gst-libs/gst/riff/riff-media.c: mpegversion is an int
Original commit message from CVS:
* gst-libs/gst/riff/riff-media.c:
(gst_riff_create_video_caps_with_data):
mpegversion is an int
* sys/v4l/gstv4lsrc.c: (gst_v4lsrc_base_init):
don't try to create pad templates with NULL caps, use any caps
instead.
2004-04-22 03:29:01 +00:00
David Schleef
53a121faa7 configure.ac: bump required gstreamer version to 0.8.1.1 because of following changes [--ds]
Original commit message from CVS:
reviewed by David Schleef
* configure.ac: bump required gstreamer version to 0.8.1.1
because of following changes [--ds]
* gst-libs/gst/riff/riff-read.c:  Include gst/gstutils.h.
(gst_riff_peek_head, gst_riff_peek_list, gst_riff_read_list)
(gst_riff_read_header):  Use GST_READ_UINT*
macros to access possibly unaligned memory.
* gst/typefind/gsttypefindfunctions.c: Include gst/gstutils.h.
(mp3_type_find):  Use GST_READ_UINT*
macros to access possibly unaligned memory.
(mp3_type_find, mpeg1_parse_header, qt_type_find)
(speex_type_find): Likewise
* gst/tags/gstvorbistag.c: (ADVANCE): Likewise
* gst/qtdemux/qtdemux.c: Include stdlib.h (needed by realloc).
(QTDEMUX_GUINT32_GET, QTDEMUX_GUINT16_GET, QTDEMUX_FP32_GET)
(QTDEMUX_FP16_GET, QTDEMUX_FOURCC_GET)
(gst_qtdemux_loop_header, gst_qtdemux_loop_header)
(qtdemux_node_dump_foreach, qtdemux_tree_get_child_by_type)
(qtdemux_tree_get_sibling_by_type):  Use GST_READ_UINT*
macros to access possibly unaligned memory.
* gst/mpegstream/gstmpegpacketize.c: (parse_generic, parse_chunk):
Likewise.
* gst/mpegstream/gstmpegdemux.c: (gst_mpeg_demux_parse_syshead)
(gst_mpeg_demux_parse_packet, gst_mpeg_demux_parse_pes): Likewise.
* gst/mpegaudioparse/gstmpegaudioparse.c: (gst_mp3parse_chain):
Likewise.
* gst/mpeg2sub/gstmpeg2subt.c: (GST_BUFFER_DATA)
(gst_mpeg2subt_chain_subtitle): Likewise.
* gst/mpeg1videoparse/gstmp1videoparse.c: (mp1videoparse_parse_seq)
(gst_mp1videoparse_time_code, gst_mp1videoparse_real_chain):
Likewise.
* gst/mpeg1sys/buffer.c: (mpeg1mux_buffer_update_audio_info):
Likewise.
* gst/cdxaparse/gstcdxaparse.c: (gst_bytestream_peek_bytes):
Likewise.
* gst/asfdemux/gstasfdemux.c: (_read_var_length, _read_uint):
Likewise.
2004-04-20 21:04:22 +00:00
David Schleef
6ddd15c744 gconf/Makefile.am: Fix for non-GNU make
Original commit message from CVS:
* gconf/Makefile.am: Fix for non-GNU make
* gst-libs/gst/Makefile.am: Change directory order to handle
GstPlay linking with gstinterfaces
* gst-libs/gst/audio/make_filter: make use of tr portable
* gst-libs/gst/play/Makefile.am: Add intended \
* gst-libs/gst/xwindowlistener/xwindowlistener.c:
(gst_xwin_set_clips): Switch to ISO variadic macro. Use a
function prototype instead of void *.
* gst/ffmpegcolorspace/gstffmpegcodecmap.c: Switch to ISO variadic
macro.
* gst/ffmpegcolorspace/gstffmpegcolorspace.c:
(gst_ffmpegcolorspace_chain): wrap NULL in GST_ELEMENT_ERROR call
* gst/videofilter/make_filter: make use of tr portable
* pkgconfig/Makefile.am: Remove GNU extension in Makefile target
2004-04-19 22:51:57 +00:00
Ronald S. Bultje
0004ce9049 gst-libs/gst/riff/riff-media.c: Add div[3456] as fourccs for DivX 3 (fixes #140137).
Original commit message from CVS:
* gst-libs/gst/riff/riff-media.c:
(gst_riff_create_video_caps_with_data):
Add div[3456] as fourccs for DivX 3 (fixes #140137).
2004-04-16 01:43:13 +00:00
Ronald S. Bultje
b38e44828e gst/: Add MS RLE support. I added some functions to read out strf chunks into strf chunks and the data behind it. Thi...
Original commit message from CVS:
reviewed by: <delete if not using a buddy>
* gst-libs/gst/riff/riff-media.c:
(gst_riff_create_video_caps_with_data),
(gst_riff_create_video_caps), (gst_riff_create_audio_caps),
(gst_riff_create_video_template_caps),
(gst_riff_create_audio_template_caps):
* gst-libs/gst/riff/riff-media.h:
* gst-libs/gst/riff/riff-read.c:
(gst_riff_read_strf_vids_with_data), (gst_riff_read_strf_vids):
* gst-libs/gst/riff/riff-read.h:
* gst/avi/gstavidemux.c: (gst_avi_demux_add_stream):
Add MS RLE support. I added some functions to read out strf chunks
into strf chunks and the data behind it. This is usually color
palettes (as in RLE, but also in 8-bit RGB). Also use those during
caps creation. Lastly, add ADPCM (similar to wavparse - which
should eventually be rifflib based).
* gst/matroska/matroska-demux.c: (gst_matroska_demux_class_init),
(gst_matroska_demux_init), (gst_matroska_demux_reset):
* gst/matroska/matroska-demux.h:
Remove placeholders for some prehistoric tagging system. Didn't add
support for any tag system really anyway.
* gst/qtdemux/qtdemux.c:
Add support for audio/x-m4a (MPEG-4) through spider.
* gst/wavparse/gstwavparse.c: (gst_wavparse_parse_fmt),
(gst_wavparse_loop):
ADPCM support (#135862). Increase max. buffer size because we
cannot split buffers for ADPCM (screws references) and I've seen
files with 2048 byte chunks. 4096 seems safe for now.
2004-04-16 01:20:44 +00:00
Ronald S. Bultje
48775bdc92 gst-libs/gst/riff/riff-media.c: Fix typo in divxversion (3 instead of 4 for "DIVX" fourcc).
Original commit message from CVS:
* gst-libs/gst/riff/riff-media.c: (gst_riff_create_video_caps):
Fix typo in divxversion (3 instead of 4 for "DIVX" fourcc).
2004-04-15 03:21:14 +00:00
Ronald S. Bultje
6f9e9727f5 gst-libs/gst/riff/riff-media.c: Add MS video v1.
Original commit message from CVS:
* gst-libs/gst/riff/riff-media.c: (gst_riff_create_video_caps),
(gst_riff_create_video_template_caps):
Add MS video v1.
* gst/avi/gstavidemux.c: (gst_avi_demux_stream_index),
(gst_avi_demux_stream_data):
Add support for "rec-list" chunks.
2004-04-11 21:36:45 +00:00
Ronald S. Bultje
b1bd867b5e gst-libs/gst/riff/riff-media.c: Fix another codecname mismatch.
Original commit message from CVS:
* gst-libs/gst/riff/riff-media.c: (gst_riff_create_audio_caps):
Fix another codecname mismatch.
2004-04-11 19:33:55 +00:00
Ronald S. Bultje
40203b6472 gst-libs/gst/riff/riff-media.c: Fix divx caps mismatch and move from video/x-jpeg to image/jpeg so that MJPEG plays b...
Original commit message from CVS:
* gst-libs/gst/riff/riff-media.c: (gst_riff_create_video_caps):
Fix divx caps mismatch and move from video/x-jpeg to image/jpeg
so that MJPEG plays back.
2004-04-11 17:21:32 +00:00
Benjamin Otte
547295bb17 gst-libs/gst/gconf/test-gconf.c: add missing gst_init
Original commit message from CVS:
* gst-libs/gst/gconf/test-gconf.c: (main):
add missing gst_init
2004-04-07 00:54:03 +00:00
Thomas Vander Stichele
18e678c43b leak plugs and style fixes
Original commit message from CVS:
leak plugs and style fixes
2004-04-01 08:42:30 +00:00
Benjamin Otte
b427458930 try fixing configure on RH9
Original commit message from CVS:
try fixing configure on RH9
2004-03-30 03:13:03 +00:00
Thomas Vander Stichele
5b4a2facc1 return proper values for state change failures
Original commit message from CVS:
return proper values for state change failures
2004-03-29 17:19:38 +00:00
Ronald S. Bultje
6db4c47337 ext/alsa/gstalsa.h: Remove unused entry.
Original commit message from CVS:
* ext/alsa/gstalsa.h:
Remove unused entry.
* gst-libs/gst/riff/riff-media.c: (gst_riff_create_video_caps):
Add cinepak.
* gst/videodrop/gstvideodrop.c: (gst_videodrop_getcaps),
(gst_videodrop_link), (gst_videodrop_chain):
Fix, sort of. Was horribly broken with new capsnego. Bah...
2004-03-24 02:12:30 +00:00
Johan Dahlin
58719f492b gst-libs/gst/play/play.c (gst_play_audio_fixate)
Original commit message from CVS:
* gst-libs/gst/play/play.c (gst_play_audio_fixate)
(gst_play_video_fixate): Check so the structure has the field
before trying to fixate them, this makes it possible to have
fakesinks for video and audio output without printing errors on
the output console.
2004-03-23 16:59:59 +00:00
David Schleef
09871dd081 gst-libs/gst/Makefile.am: Enable xoverlay unconditionally, since it doesn't depend on X, and it's part of our ABI.
Original commit message from CVS:
* gst-libs/gst/Makefile.am:  Enable xoverlay unconditionally,
since it doesn't depend on X, and it's part of our ABI.
2004-03-19 23:44:33 +00:00
Thomas Vander Stichele
7b2f9e5dad update libtool version actually use it in media-info
Original commit message from CVS:
update libtool version
actually use it in media-info
2004-03-15 23:31:46 +00:00
Julien Moutte
4fe61f2848 gst-libs/gst/play/play.c: First draft of gst_play_get_framerate.
Original commit message from CVS:
2004-03-15  Julien MOUTTE <julien@moutte.net>

* gst-libs/gst/play/play.c: (gst_play_get_framerate),
(gst_play_get_sink_element): First draft of gst_play_get_framerate.
* gst-libs/gst/play/play.h:
2004-03-15 21:41:35 +00:00
Thomas Vander Stichele
4fd57bbe3f don't mix tabs and spaces
Original commit message from CVS:
don't mix tabs and spaces
2004-03-15 19:32:27 +00:00
Thomas Vander Stichele
9f4226fe55 reverse order
Original commit message from CVS:
reverse order
2004-03-15 17:38:42 +00:00
Thomas Vander Stichele
8cf1cbe4ba some info
Original commit message from CVS:
some info
2004-03-15 17:19:06 +00:00
Thomas Vander Stichele
b8c966dc3e adding media info pc files package them use ffmpegcolorspace in gstplay
Original commit message from CVS:
adding media info pc files
package them
use ffmpegcolorspace in gstplay
2004-03-15 17:17:28 +00:00
Johan Dahlin
39fd8a2dbd *.h: Revert indenting
Original commit message from CVS:
* *.h: Revert indenting
2004-03-15 16:32:54 +00:00
Thomas Vander Stichele
7a778ee4b7 gst-indent
Original commit message from CVS:
gst-indent
2004-03-14 22:34:33 +00:00
Benjamin Otte
7dc81ddbcc move gstreamer-gconf pkgconfig files to pkgconfig/ dir. Make sure they get rebuilt properly
Original commit message from CVS:
* configure.ac:
* gst-libs/gst/gconf/Makefile.am:
* pkgconfig/Makefile.am:
move gstreamer-gconf pkgconfig files to pkgconfig/ dir. Make sure
they get rebuilt properly
* configure.ac:
when checking for vorbis, try pkgconfig first.
* gst/modplug/gstmodplug.cc:
add fixate function
2004-03-14 10:33:44 +00:00
Benjamin Otte
10575d1a7e gst-libs/gst/xoverlay/xoverlay.*: replace XID with unsigned long to get rid of the xlibs dependency in
Original commit message from CVS:
* gst-libs/gst/xoverlay/xoverlay.c: (gst_x_overlay_set_xwindow_id),
(gst_x_overlay_got_xwindow_id):
* gst-libs/gst/xoverlay/xoverlay.h:
replace XID with unsigned long to get rid of the xlibs dependency in
XOverlay (fixes #137004)
2004-03-12 21:43:25 +00:00
Benjamin Otte
6a4e1d4f66 gst-libs/gst/mixer/mixer.c: the signals take 2 arguments
Original commit message from CVS:
* gst-libs/gst/mixer/mixer.c: (gst_mixer_class_init):
the signals take 2 arguments
2004-03-09 21:38:40 +00:00
David Schleef
8782f54d7d ext/lcs/Makefile.am: Fix so that the lcs colorspace plugin doesn't conflict with the internal colorspace plugin.
Original commit message from CVS:
* ext/lcs/Makefile.am:  Fix so that the lcs colorspace plugin
doesn't conflict with the internal colorspace plugin.
* gst-libs/gst/audio/make_filter:  Use `` instead of $() to
satisfy the crappy-ass shell shipped by a certain vendor.
* gst/videofilter/make_filter: same (bug #135299)
2004-03-09 20:55:30 +00:00
Ronald S. Bultje
0d4da15430 gst-libs/gst/riff/riff-read.c: Fix metadata read crash (#136537).
Original commit message from CVS:
* gst-libs/gst/riff/riff-read.c: (gst_riff_read_info):
Fix metadata read crash (#136537).
2004-03-09 04:30:02 +00:00
Thomas Vander Stichele
956ab077d5 small media-info fixes
Original commit message from CVS:
small media-info fixes
2004-03-08 22:16:04 +00:00
Thomas Vander Stichele
602f6e495d compiler fixes
Original commit message from CVS:
compiler fixes
2004-03-07 21:05:40 +00:00
Thomas Vander Stichele
b7b489166b compile fixes
Original commit message from CVS:
compile fixes
2004-03-07 21:02:25 +00:00
Thomas Vander Stichele
1b3ef33748 this should more or less work correctly.
Original commit message from CVS:
this should more or less work correctly.
2004-03-07 20:51:10 +00:00
Thomas Vander Stichele
a11cf2ec0a first pass at making this work again needs quite a lot of cleanups
Original commit message from CVS:
first pass at making this work again
needs quite a lot of cleanups
2004-03-06 20:15:17 +00:00
David Schleef
86db595f56 ext/faad/gstfaad.c: Fix negotiation.
Original commit message from CVS:
* ext/faad/gstfaad.c: (gst_faad_init), (gst_faad_srcgetcaps),
(gst_faad_chain): Fix negotiation.
* ext/librfb/gstrfbsrc.c: (gst_rfbsrc_handle_src_event): Add
key and button events.
* gst-libs/gst/floatcast/floatcast.h: Fix a minor bug in this
dung heap of code.
* gst-libs/gst/gconf/gstreamer-gconf-uninstalled.pc.in: gstgconf
depends on gconf
* gst-libs/gst/gconf/gstreamer-gconf.pc.in: same
* gst-libs/gst/play/play.c: (gst_play_pipeline_setup),
(gst_play_video_fixate), (gst_play_audio_fixate): Add a fixate
function to encourage better negotiation, particularly between
audioconvert and osssink.
* gst/audioconvert/gstaudioconvert.c: (gst_audio_convert_chain):
* gst/qtdemux/qtdemux.c: (qtdemux_parse_trak):  Make some debugging
more important.
* gst/typefind/gsttypefindfunctions.c:  Fix mistake in flash
typefinding.
* gst/vbidec/vbiscreen.c:  Add glib header
* pkgconfig/gstreamer-play.pc.in:  Depends on gst-interfaces.
2004-03-06 00:42:20 +00:00
Thomas Vander Stichele
fd43bd5e7c fix gconf install path
Original commit message from CVS:
fix gconf install path
2004-03-05 12:13:10 +00:00
Thomas Vander Stichele
ef255131dc fix headers fix signals to use - instead of _
Original commit message from CVS:
fix headers
fix signals to use - instead of _
2004-03-04 21:39:15 +00:00
Julien Moutte
c7c5c0a9d0 gst-libs/gst/gconf/gconf.c: Using ximagesink as a default if no gconf key found. We should probably consider using al...
Original commit message from CVS:
2004-03-03  Julien MOUTTE <julien@moutte.net>

* gst-libs/gst/gconf/gconf.c: (gst_gconf_get_default_video_sink):
Using ximagesink as a default if no gconf key found. We should
probably consider using alsasink instead of osssink for the audio
part.
2004-03-03 11:41:50 +00:00
Thomas Vander Stichele
f5ecd05e2a xwindowlistener is a plugin helper lib, not a full lib
Original commit message from CVS:
xwindowlistener is a plugin helper lib, not a full lib
2004-03-01 23:20:52 +00:00
Thomas Vander Stichele
f26bbe9de8 fix plugin names move gstvideosink.h to videosink.h
Original commit message from CVS:
fix plugin names
move gstvideosink.h to videosink.h
2004-03-01 16:17:21 +00:00
Benjamin Otte
0bad4023f0 gst-libs/gst/audio/audio.h: add macro to make sure header isn't included twice
Original commit message from CVS:
2004-02-27  Benjamin Otte  <otte@gnome.org>

* gst-libs/gst/audio/audio.h:
add macro to make sure header isn't included twice
* gst/asfdemux/gstasfdemux.c: (gst_asf_demux_process_chunk):
don't use gst_buffer_free
* gst/playondemand/filter.func:
don't usae gst_data_free. Free data only once.
2004-02-27 21:47:49 +00:00
David Schleef
be3ea15a2d gst/: -marshal.[ch] and -enum.[ch] files should not be disted, -marshal.h files should not be installed, and -enum.h ...
Original commit message from CVS:
* gst-libs/gst/colorbalance/Makefile.am:
* gst-libs/gst/mixer/Makefile.am:
* gst-libs/gst/tuner/Makefile.am:
* gst/level/Makefile.am: -marshal.[ch] and -enum.[ch] files
should not be disted, -marshal.h files should not be installed,
and -enum.h files _should_ be installed.  Fix to make this the
case.
2004-02-27 02:39:18 +00:00
Johan Dahlin
2aef6c3d8b gst-libs/gst/gconf/gconf.c: Add \n to g_print error messages
Original commit message from CVS:
* gst-libs/gst/gconf/gconf.c: Add \n to g_print error messages
2004-02-24 17:16:07 +00:00
Thomas Vander Stichele
98b68da0a8 versioning gstreamer schemas and install location
Original commit message from CVS:
versioning gstreamer schemas and install location
2004-02-23 22:31:48 +00:00
Benjamin Otte
47c01dd098 ext/xine/xineinput.c: call parent dispose.
Original commit message from CVS:
2004-02-23  Benjamin Otte  <otte@gnome.org>

* ext/xine/xineinput.c: (gst_xine_input_dispose):
(gst_xine_input_subclass_init):
call parent dispose.
change pad template for CD reader correctly
* ext/xine/Makefile.am:
* ext/xine/gstxine.h:
* ext/xine/xine.c: (plugin_init):
* ext/xine/xineaudiosink.c:
wrap audio sinks, too
* gst-libs/gst/resample/private.h:
* gst-libs/gst/resample/resample.c: (gst_resample_init),
(gst_resample_reinit), (gst_resample_scale),
(gst_resample_nearest_s16), (gst_resample_bilinear_s16),
(gst_resample_sinc_slow_s16), (gst_resample_sinc_s16),
(gst_resample_sinc_ft_s16), (gst_resample_nearest_float),
(gst_resample_bilinear_float), (gst_resample_sinc_slow_float),
(gst_resample_sinc_float), (gst_resample_sinc_ft_float):
* gst-libs/gst/resample/resample.h:
* gst/audioscale/gstaudioscale.c: (gst_audioscale_method_get_type),
(gst_audioscale_class_init), (gst_audioscale_link),
(gst_audioscale_get_buffer), (gst_audioscale_init),
(gst_audioscale_chain), (gst_audioscale_set_property),
(gst_audioscale_get_property):
* gst/audioscale/gstaudioscale.h:
s/resample_*/gst_resample_*/i to not clobber namespaces
2004-02-23 22:21:30 +00:00
Julien Moutte
4f97d9f1d0 gst/: First batch implementing audio and video codec tags in demuxers.
Original commit message from CVS:
2004-02-23  Julien MOUTTE  <julien@moutte.net>

* gst-libs/gst/riff/riff-media.c: (gst_riff_create_video_caps),
(gst_riff_create_audio_caps), (gst_riff_create_iavs_caps),
(gst_riff_create_video_template_caps),
(gst_riff_create_audio_template_caps),
(gst_riff_create_iavs_template_caps):
* gst-libs/gst/riff/riff-media.h:
* gst/asfdemux/gstasfdemux.c: (gst_asf_demux_base_init),
(gst_asf_demux_audio_caps), (gst_asf_demux_add_audio_stream),
(gst_asf_demux_video_caps), (gst_asf_demux_add_video_stream):
* gst/avi/gstavidemux.c: (gst_avi_demux_add_stream):
* gst/matroska/matroska-demux.c: (gst_matroska_demux_add_stream),
(gst_matroska_demux_video_caps), (gst_matroska_demux_audio_caps),
(gst_matroska_demux_plugin_init): First batch implementing audio and
video codec tags in demuxers.
2004-02-23 22:16:21 +00:00
Thomas Vander Stichele
c8599db324 break up link function for better error debug
Original commit message from CVS:
break up link function for better error debug
2004-02-18 18:41:36 +00:00
Julien Moutte
84721705b7 examples/gstplay/player.c: Adding some output for debugging.
Original commit message from CVS:
2004-02-15  Julien MOUTTE  <julien@moutte.net>

* examples/gstplay/player.c: (got_eos), (main): Adding some
output for debugging.
* gst-libs/gst/play/play.c: (gst_play_state_change): Stop our
timeouts if we go to any state different from PLAYING.
* gst-libs/gst/riff/riff-read.c: (gst_riff_read_seek): Fix some
more EOS bugs in riff lib.
2004-02-15 17:41:28 +00:00
Julien Moutte
4d49d36fda gst-libs/gst/play/play.c: Disable visualization until i find a way to fix switch correctly.
Original commit message from CVS:
2004-02-14  Julien MOUTTE  <julien@moutte.net>

* gst-libs/gst/play/play.c: (gst_play_connect_visualization): Disable
visualization until i find a way to fix switch correctly.
* gst-libs/gst/riff/riff-read.c: (gst_riff_peek_head): Fix a bug when
EOS arrives.
* gst/switch/gstswitch.c: (gst_switch_release_pad),
(gst_switch_request_new_pad), (gst_switch_poll_sinkpads),
(gst_switch_loop), (gst_switch_dispose), (gst_switch_class_init):
Reworked switch to get a more correct behaviour with events and refing
of data stored in sinkpads.
* gst/switch/gstswitch.h: Adding an eos flag for every sinkpad so that
we don't pull from a pad in EOS.
2004-02-14 18:37:48 +00:00
Thomas Vander Stichele
ff38729309 move ffmpeg stuff to gst-ffmpeg module
Original commit message from CVS:
move ffmpeg stuff to gst-ffmpeg module
2004-02-13 15:11:50 +00:00
Benjamin Otte
4e88b1b6a7 gst-libs/gst/: remove unused GST_OPT_CFLAGS from Makefiles include X_CFLAGS and X_LIBS in xoverlay. (#131948)
Original commit message from CVS:
2004-02-08  Benjamin Otte  <in7y118@public.uni-hamburg.de>

* gst-libs/gst/colorbalance/Makefile.am:
* gst-libs/gst/navigation/Makefile.am:
* gst-libs/gst/xoverlay/Makefile.am:
remove unused GST_OPT_CFLAGS from Makefiles
include X_CFLAGS and X_LIBS in xoverlay. (#131948)
2004-02-08 13:35:42 +00:00
David Schleef
8164b23812 Build fixes for OS X: (see #129600)
Original commit message from CVS:
Build fixes for OS X: (see #129600)
* gst-libs/gst/riff/riff-read.c: (gst_riff_read_strh),
(gst_riff_read_strf_vids), (gst_riff_read_strf_auds),
(gst_riff_read_strf_iavs):
* gst/avi/gstavidemux.c: (gst_avi_demux_stream_avih),
(gst_avi_demux_stream_odml):
* gst/playondemand/Makefile.am:
* gst/rtp/rtp-packet.c:
2004-02-07 01:34:05 +00:00
Benjamin Otte
1f64c9f6f9 gst-libs/gst/riff/riff-read.c: use correct GST_TAG_ENCODER tag
Original commit message from CVS:
2004-02-05  Benjamin Otte  <in7y118@public.uni-hamburg.de>

* gst-libs/gst/riff/riff-read.c: (gst_riff_read_info):
use correct GST_TAG_ENCODER tag
2004-02-05 03:02:42 +00:00
Julien Moutte
b5341b2016 gst-libs/gst/xoverlay/xoverlay.*: Adding the _expose method to tell an overlay to redraw the image because it has bee...
Original commit message from CVS:
2004-02-04  Julien MOUTTE  <julien@moutte.net>

* gst-libs/gst/xoverlay/xoverlay.c: (gst_x_overlay_expose):
* gst-libs/gst/xoverlay/xoverlay.h: Adding the _expose method to tell
an overlay to redraw the image because it has been exposed.
* sys/ximage/ximagesink.c: (gst_ximagesink_ximage_destroy),
(gst_ximagesink_ximage_put), (gst_ximagesink_expose),
(gst_ximagesink_xoverlay_init), (gst_ximagesink_init):
* sys/ximage/ximagesink.h: Implement expose method from XOverlay
interface
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_xvimage_destroy),
(gst_xvimagesink_xvimage_put), (gst_xvimagesink_expose),
(gst_xvimagesink_xoverlay_init), (gst_xvimagesink_init):
* sys/xvimage/xvimagesink.h: Implement expose method from XOverlay
interface
2004-02-03 23:05:46 +00:00
Thomas Vander Stichele
f8aa01ccb1 last glib_root standing
Original commit message from CVS:
last glib_root standing
2004-02-03 20:27:24 +00:00
Thomas Vander Stichele
47be812c27 remove glib_root add hack rule for .Plo files
Original commit message from CVS:
remove glib_root
add hack rule for .Plo files
2004-02-03 20:20:07 +00:00
Thomas Vander Stichele
4785fe4a97 use glib-gen.mak fix Makefile.am bugs and clean them up
Original commit message from CVS:
use glib-gen.mak
fix Makefile.am bugs and clean them up
2004-02-03 16:49:54 +00:00
David I. Lehn
85e7b51cf2 gst-libs/gst/: Generate enum type code with glib-mkenums.
Original commit message from CVS:
* gst-libs/gst/colorbalance/Makefile.am:
* gst-libs/gst/colorbalance/colorbalance.h:
* gst-libs/gst/mixer/Makefile.am:
* gst-libs/gst/mixer/mixer.h:
* gst-libs/gst/play/Makefile.am:
* gst-libs/gst/play/play.h:
* gst-libs/gst/tuner/Makefile.am:
* gst-libs/gst/tuner/tuner.h:
Generate enum type code with glib-mkenums.
* gst-libs/gst/colorbalance/.cvsignore:
* gst-libs/gst/mixer/.cvsignore:
* gst-libs/gst/play/.cvsignore:
* gst-libs/gst/tuner/.cvsignore:
Ignore generated files.
2004-02-03 08:56:06 +00:00
David I. Lehn
0724b6808f gst-libs/gst/audio/.cvsignore: Ignore generated file.
Original commit message from CVS:
* gst-libs/gst/audio/.cvsignore:
Ignore generated file.
* gst-libs/gst/audio/Makefile.am:
Do not install example filter.
2004-02-03 08:52:58 +00:00
Julien Moutte
4026b0bb4f gst-libs/gst/play/play.c: Moving volume in the audio thread for instantaneous volume change. Maybe i will add another...
Original commit message from CVS:
2004-02-02  Julien MOUTTE  <julien@moutte.net>

* gst-libs/gst/play/play.c: (gst_play_pipeline_setup),
(gst_play_set_audio_sink): Moving volume in the audio thread for
instantaneous volume change. Maybe i will add another volume in front
of visualization later, not sure yet though.
2004-02-02 22:18:38 +00:00
David Schleef
6e12f3b798 code cleanup. Change bzero() to memset(). Remove duplicate ; at ends of lines.
Original commit message from CVS:
code cleanup.  Change bzero() to memset().  Remove duplicate ; at ends
of lines.
* ext/cdparanoia/gstcdparanoia.c: (cdparanoia_event):
* ext/flac/gstflactag.c: (gst_flac_tag_chain):
* ext/xvid/gstxviddec.c: (gst_xviddec_src_link):
* gst-libs/gst/play/play.c: (gst_play_get_sink_element):
* gst/ac3parse/gstac3parse.c: (gst_ac3parse_chain):
* gst/effectv/gstedge.c: (gst_edgetv_sinkconnect):
* gst/effectv/gstvertigo.c: (gst_vertigotv_sinkconnect):
* gst/intfloat/float22int.c: (gst_float2_2_int_getcaps),
(gst_float2_2_int_link):
* gst/mpeg2sub/gstmpeg2subt.c: (gst_mpeg2subt_chain_subtitle):
* gst/rtjpeg/RTjpeg.c: (RTjpeg_init_mcompress):
* gst/tcp/gsttcpsink.c: (gst_tcpsink_init_send):
* gst/tcp/gsttcpsrc.c: (gst_tcpsrc_init_receive):
* gst/udp/gstudpsink.c: (gst_udpsink_init_send):
* gst/udp/gstudpsrc.c: (gst_udpsrc_init_receive):
* sys/v4l/gstv4lelement.c: (gst_v4lelement_init):
* sys/v4l2/v4l2src_calls.c: (gst_v4l2src_set_capture):
* testsuite/gst-lint: Add tests for bzero and ;;
2004-02-02 20:09:09 +00:00
Thomas Vander Stichele
7fa1c52301 change NULL to (NULL) for GST_ELEMENT_ERROR
Original commit message from CVS:
change NULL to (NULL) for GST_ELEMENT_ERROR
Make sure errors end with "."
2004-02-02 17:23:33 +00:00
Thomas Vander Stichele
a45567c977 block tick callback for 0.5 sec after a seek
Original commit message from CVS:
block tick callback for 0.5 sec after a seek
2004-02-02 10:49:32 +00:00
Thomas Vander Stichele
51345d50df check for NULLness and warn if we can't report GError
Original commit message from CVS:
check for NULLness and warn if we can't report GError
2004-02-02 10:19:38 +00:00
Julien Moutte
119c42f201 gst-libs/gst/play/play.c: s/sinkconnect/sink_link
Original commit message from CVS:
2004-02-01  Julien MOUTTE  <julien@moutte.net>

* gst-libs/gst/play/play.c: (gst_play_seek_to_time),
(gst_play_new): Accepting NULL GError, blocking time tick while seeking.        * sys/ximage/ximagesink.c: (gst_ximagesink_sink_link),
(gst_ximagesink_chain), (gst_ximagesink_init): s/sinkconnect/sink_link
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_sink_link),
(gst_xvimagesink_chain), (gst_xvimagesink_init): s/sinkconnect/sink_link
2004-02-01 22:33:07 +00:00
Thomas Vander Stichele
fcb5bb22d5 add error handling
Original commit message from CVS:
add error handling
2004-01-31 15:56:32 +00:00
Thomas Vander Stichele
924628915a done operating
Original commit message from CVS:
done operating
2004-01-30 22:38:56 +00:00
Thomas Vander Stichele
5ca29ca131 removing deprecated code
Original commit message from CVS:
removing deprecated code
2004-01-30 22:03:14 +00:00
Ronald S. Bultje
8032ddd30a gst/: Fix event handling.
Original commit message from CVS:
2004-01-30  Ronald Bultje  <rbultje@ronald.bitfreak.net>

* gst-libs/gst/riff/riff-read.c: (gst_riff_peek_head),
(gst_riff_read_seek):
* gst/matroska/ebml-read.c: (gst_ebml_read_element_id),
(gst_ebml_read_seek):
Fix event handling.
2004-01-30 12:37:58 +00:00
Thomas Vander Stichele
92eb19b993 GST_ELEMENT_ERROR
Original commit message from CVS:
GST_ELEMENT_ERROR
2004-01-29 23:20:45 +00:00
Julien Moutte
7c858cbf0f ext/gnomevfs/gstgnomevfssrc.c: Fixing seeking emiting FLUSH and even before DISCONT.
Original commit message from CVS:
2004-01-29  Julien MOUTTE  <julien@moutte.net>

* ext/gnomevfs/gstgnomevfssrc.c: (gst_gnomevfssrc_get): Fixing seeking
emiting FLUSH and even before DISCONT.
* gst-libs/gst/play/gstplay.c: (gst_play_seek_to_time): Fix seeking to
get the best instant seeking as possible yay!
2004-01-29 22:44:42 +00:00
Julien Moutte
1b5d548d52 gst-libs/gst/play/gstplay.c: seek on video sink element first.
Original commit message from CVS:
2004-01-28  Julien MOUTTE  <julien@moutte.net>

* gst-libs/gst/play/gstplay.c: (gst_play_seek_to_time): seek on video
sink element first.
* gst/videoscale/gstvideoscale.c:
(gst_videoscale_handle_src_event): Fixing src event handler.
2004-01-28 22:14:12 +00:00
Julien Moutte
a7db4b6141 gst-libs/gst/play/gstplay.c: Fixing the way to get current position.
Original commit message from CVS:
2004-01-27  Julien MOUTTE <julien@moutte.net>

* gst-libs/gst/play/gstplay.c: (gst_play_tick_callback),
(gst_play_seek_to_time): Fixing the way to get current position.
2004-01-27 21:24:14 +00:00
Julien Moutte
2ec67efa3a gst-libs/gst/play/gstplay.c: The easiest fix ever... Inverting 2 lines of code make spider autoplug correctly tagged ...
Original commit message from CVS:
2004-01-27  Julien MOUTTE <julien@moutte.net>

* gst-libs/gst/play/gstplay.c: (gst_play_set_location): The easiest
fix ever... Inverting 2 lines of code make spider autoplug correctly
tagged mp3 !
2004-01-27 16:42:40 +00:00
Benjamin Otte
054dc28a32 gst-libs/gst/audio/audio.h: remove buffer-frames from audio caps
Original commit message from CVS:
2004-01-26  Benjamin Otte  <in7y118@public.uni-hamburg.de>

* gst-libs/gst/audio/audio.h:
remove buffer-frames from audio caps
* gst/audioconvert/gstaudioconvert.c:
fix plugin to really work.
2004-01-26 03:54:21 +00:00
Ronald S. Bultje
ca1ae38967 gst-libs/gst/: Add gtk-doc style comments. Also fix a function name.
Original commit message from CVS:
2004-01-25  Ronald Bultje  <rbultje@ronald.bitfreak.net>

* gst-libs/gst/mixer/mixer.c:
* gst-libs/gst/propertyprobe/propertyprobe.c:
* gst-libs/gst/tuner/tuner.c: (gst_tuner_find_norm_by_name),
(gst_tuner_find_channel_by_name):
* gst-libs/gst/tuner/tuner.h:
Add gtk-doc style comments. Also fix a function name.
2004-01-25 22:07:16 +00:00
Julien Moutte
a77fcb5d88 gst-libs/gst/play/gstplay.c: Another try in visualization implementation. Still have an issue with switch blocking wh...
Original commit message from CVS:
2004-01-25  Julien MOUTTE  <julien@moutte.net>

* gst-libs/gst/play/gstplay.c: (gst_play_pipeline_setup),
(gst_play_identity_handoff), (gst_play_set_location),
(gst_play_set_visualization), (gst_play_connect_visualization): Another
try in visualization implementation. Still have an issue with switch
blocking when pulling from video_queue and only audio comes out of
spider.
* gst/switch/gstswitch.c: (gst_switch_release_pad),
(gst_switch_poll_sinkpads), (gst_switch_class_init): Implementing pad
release method. And check if the pad is usable before pulling.
2004-01-25 12:28:05 +00:00
Ronald S. Bultje
858534caa0 gst-libs/gst/riff/riff-read.c: Additional pad usability check.
Original commit message from CVS:
2004-01-25  Ronald Bultje  <rbultje@ronald.bitfreak.net>

* gst-libs/gst/riff/riff-read.c: (gst_riff_read_info):
Additional pad usability check.
* gst/mpeg1videoparse/gstmp1videoparse.c: (gst_mp1videoparse_init),
(mp1videoparse_find_next_gop), (gst_mp1videoparse_time_code),
(gst_mp1videoparse_real_chain):
Fix MPEG video stream parsing. The original plugin had several
issues, including not timestamping streams where the source was
not timestamped (this happens with PTS values in mpeg system
streams, but MPEG video is also a valid stream on its own so
that needs timestamps too). We use the display time code for that
for now. Also, if one incoming buffer contains multiple valid
frames, we push them all on correctly now, including proper EOS
handling. Lastly, several potential segfaults were fixed, and we
properly sync on new sequence/gop headers to include them in next,
not previous frames (since they're header for the next frame, not
the previous). Also see #119206.
* gst/mpegaudioparse/gstmpegaudioparse.c: (gst_mp3parse_chain),
(bpf_from_header):
Move caps setting so we only do it after finding several valid
MPEG-1 fraes sequentially, not right after the first one (which
might be coincidental).
* gst/typefind/gsttypefindfunctions.c: (mpeg1_sys_type_find),
(mpeg_video_type_find), (mpeg_video_stream_type_find),
(plugin_init):
Add unsynced MPEG video stream typefinding, and change some
probability values so we detect streams rightly. The idea is as
follows: I can have an unsynced system stream which contains
video. In the current code, I would randomly get a type for either
system or video stream type found, because the probabilities are
being calculated rather randomly. I now use fixed values, so we
always prefer system stream if that was found (and that is how it
should be). If no system stream was found, we can still identity
the stream as video-only.
2004-01-25 00:25:16 +00:00
Ronald S. Bultje
a24a294182 gst-libs/gst/riff/riff-read.*: Remove stuff fromold metadata system.
Original commit message from CVS:
2004-01-23  Ronald Bultje  <rbultje@ronald.bitfreak.net>

* gst-libs/gst/riff/riff-read.c: (gst_riff_read_class_init),
(gst_riff_read_init), (gst_riff_read_change_state):
* gst-libs/gst/riff/riff-read.h:
Remove stuff fromold metadata system.
2004-01-23 14:03:16 +00:00
Ronald S. Bultje
3a4e300acf ext/ogg/gstoggdemux.c: Fix wrong file comment.
Original commit message from CVS:
2004-01-23  Ronald Bultje  <rbultje@ronald.bitfreak.net>

* ext/ogg/gstoggdemux.c:
Fix wrong file comment.
* gst-libs/gst/riff/riff-read.c: (gst_riff_read_info):
* gst/avi/gstavidemux.c: (gst_avi_demux_stream_header):
Add metadata reading properly.
2004-01-23 13:22:16 +00:00
Julien Moutte
4bb604a90b gst-libs/gst/play/gstplay.c: Reworked the pipeline from scratch. Visualization is back and switch went out as i reali...
Original commit message from CVS:
2004-01-23  Julien MOUTTE  <julien@moutte.net>

* gst-libs/gst/play/gstplay.c: (gst_play_pipeline_setup),
(gst_play_set_location), (gst_play_seek_to_time),
(gst_play_set_audio_sink), (gst_play_set_visualization),
(gst_play_connect_visualization), (gst_play_get_sink_element): Reworked
the pipeline from scratch. Visualization is back and switch went out as
i realized it was not possible to use the way i wanted.
* sys/ximage/ximagesink.c: (gst_ximagesink_imagepool_clear),
(gst_ximagesink_change_state), (gst_ximagesink_dispose): Move xcontext
clearing in state change from READY to NULL. So that one can clean the
X ressources keeping the element.
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_xcontext_get),
(gst_xvimagesink_imagepool_clear), (gst_xvimagesink_change_state),
(gst_xvimagesink_colorbalance_set_value),
(gst_xvimagesink_colorbalance_get_value),
(gst_xvimagesink_set_property), (gst_xvimagesink_dispose),
(gst_xvimagesink_init): Same xcontext cleaning than ximagesink in state
change from READY to NULL and fixed some stupid bugs in colorbalance
get/set values. Also added the following feature : when nobody tries to
set some values to the colorbalance levels before the xcontext is
grabbed, then when creating channels list from Xv attributes we set the
internal values to the Xv defaults. This way we handle buggy Xv drivers
that set default hue values far from the middle of the range (Thanks
to Jon Trowbridge for pointing that issue).
* sys/xvimage/xvimagesink.h: Adding a cb_changed boolean to know if
colorbalance levels have been set before xcontext is grabbed.
2004-01-22 23:54:34 +00:00
Thomas Vander Stichele
a4614f19e6 fix up media-info now reports format again metadata needs some rewriting
Original commit message from CVS:
fix up media-info
now reports format again
metadata needs some rewriting
2004-01-22 19:00:27 +00:00
Thomas Vander Stichele
8588429d0e register and use debugging category in media-info make vorbisfile emit tags for streaminfo
Original commit message from CVS:
register and use debugging category in media-info
make vorbisfile emit tags for streaminfo
2004-01-20 16:25:11 +00:00
Thomas Vander Stichele
2924c6ccd7 fix distcheck
Original commit message from CVS:
fix distcheck
2004-01-20 11:25:09 +00:00
Thomas Vander Stichele
a8dc14076e adding locale.h
Original commit message from CVS:
adding locale.h
2004-01-19 16:43:01 +00:00
Thomas Vander Stichele
80a5676bdc removing config.h
Original commit message from CVS:
removing config.h
2004-01-19 15:50:38 +00:00
Thomas Vander Stichele
22f4937e95 putting i18n in place for plugins
Original commit message from CVS:
putting i18n in place for plugins
2004-01-19 15:45:55 +00:00
Thomas Vander Stichele
af8dc33f90 adding header
Original commit message from CVS:
adding header
2004-01-18 23:21:55 +00:00
Thomas Vander Stichele
07ed811a09 use new error signal and classification
Original commit message from CVS:
use new error signal and classification
2004-01-18 21:46:58 +00:00
Ronald S. Bultje
92ba8be48d gst-libs/gst/Makefile.am: restructure so having local patches works easier.
Original commit message from CVS:
2004-01-16  Ronald Bultje  <rbultje@ronald.bitfreak.net>

* gst-libs/gst/Makefile.am:
restructure so having local patches works easier.
2004-01-16 14:55:44 +00:00
David Schleef
7d64f26d25 gst-libs/gst/audio/Makefile.am: Add gstaudiofiltertemplate.c and building of gstaudiofilterexample.c from the template.
Original commit message from CVS:
* gst-libs/gst/audio/Makefile.am:
Add gstaudiofiltertemplate.c and building of gstaudiofilterexample.c
from the template.
* gst-libs/gst/audio/gstaudiofilter.c:
* gst-libs/gst/audio/gstaudiofilter.h:
Add bytes_per_sample and size and n_samples calculation.
* gst-libs/gst/audio/gstaudiofilterexample.c:
Remove, now autogenerated.
* gst-libs/gst/audio/gstaudiofiltertemplate.c:
Moved from gstaudiofilterexample, object name changed, code added
so that it actually works.
* gst-libs/gst/audio/make_filter:
Script to build an audiofilter subclass from the template.
* gst/colorspace/Makefile.am:
* gst/colorspace/yuv2yuv.c:
Remove file, since it's GPL, and we don't use it.
2004-01-16 00:55:29 +00:00
Julien Moutte
87fc2c3691 ext/alsa/gstalsamixer.c: Setting mixer interface type to HARDWARE.
Original commit message from CVS:
2004-01-15  Julien MOUTTE <julien@moutte.net>

* ext/alsa/gstalsamixer.c: (gst_alsa_mixer_interface_init): Setting
mixer interface type to HARDWARE.
* gst-libs/gst/mixer/mixer.c: (gst_mixer_class_init): Adding a default
type to SOFTWARE.
* gst-libs/gst/mixer/mixer.h: Adding mixer interface type and macro.
* gst-libs/gst/mixer/mixertrack.h: Adding mixertrack flag SOFTWARE.
* gst/volume/gstvolume.c: (gst_volume_interface_supported),
(gst_volume_interface_init), (gst_volume_list_tracks),
(gst_volume_set_volume), (gst_volume_get_volume),
(gst_volume_set_mute), (gst_volume_mixer_init),
(gst_volume_dispose), (gst_volume_get_type), (volume_class_init),
(volume_init): Implementing mixer interface.
* gst/volume/gstvolume.h: Adding tracklist for mixer interface.
* sys/oss/gstosselement.c: (gst_osselement_get_type),
(gst_osselement_change_state): Removing some trailing commas in
structures.
* sys/oss/gstossmixer.c: (gst_ossmixer_interface_init): Setting mixer
interface type to HARDWARE.
* sys/v4l/gstv4lcolorbalance.c:
(gst_v4l_color_balance_interface_init): Setting colorbalance interface
type to HARDWARE.
* sys/v4l2/gstv4l2colorbalance.c:
(gst_v4l2_color_balance_interface_init): Setting colorbalance
interface type to HARDWARE.
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_chain): use exactly the
same code than ximagesink for event handling.
2004-01-15 15:50:10 +00:00
Julien Moutte
2df0f44843 gst-libs/gst/play/gstplay.c: Preparing switch integration, adding videobalance in the pipeline.
Original commit message from CVS:
2004-01-14  Julien MOUTTE  <julien@moutte.net>

* gst-libs/gst/play/gstplay.c: (gst_play_pipeline_setup),
(gst_play_set_location), (gst_play_set_visualization): Preparing
switch integration, adding videobalance in the pipeline.
2004-01-14 21:50:39 +00:00
Julien Moutte
1ab97c70ff gst-libs/gst/colorbalance/colorbalance.c: Adding a default type.
Original commit message from CVS:
2004-01-14  Julien MOUTTE <julien@moutte.net>

* gst-libs/gst/colorbalance/colorbalance.c:
(gst_color_balance_class_init): Adding a default type.
* gst-libs/gst/colorbalance/colorbalance.h: Adding a macro to access
the type.
* gst/videofilter/gstvideobalance.c: (gst_videobalance_get_type),
(gst_videobalance_dispose), (gst_videobalance_class_init),
(gst_videobalance_init), (gst_videobalance_interface_supported),
(gst_videobalance_interface_init),
(gst_videobalance_colorbalance_list_channels),
(gst_videobalance_colorbalance_set_value),
(gst_videobalance_colorbalance_get_value),
(gst_videobalance_colorbalance_init): Implementing colorbalance
interface.
* gst/videofilter/gstvideobalance.h: Adding colorbalance channels
list.
* sys/ximage/ximagesink.c: (gst_ximagesink_set_xwindow_id): Fixing a
bug which was triggering a BadAccess X error when setting an overlay
before pad was really negotiated.
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_colorbalance_init):
Using the colorbalance type macro.
2004-01-14 17:15:34 +00:00
Benjamin Otte
b9b9ae813f gst-libs/gst/play/gstplay.c: Query the audio element to get the time, not the clock. We're interested in the element'...
Original commit message from CVS:
2004-01-14  Benjamin Otte  <in7y118@public.uni-hamburg.de>

* gst-libs/gst/play/gstplay.c: (gst_play_tick_callback):
Query the audio element to get the time, not the clock. We're
interested in the element's time here.
2004-01-14 02:37:12 +00:00
Benjamin Otte
596506d443 use element time.
Original commit message from CVS:
2004-01-14  Benjamin Otte  <in7y118@public.uni-hamburg.de>

* ext/aalib/gstaasink.c: (gst_aasink_chain):
* ext/alsa/gstalsasink.c: (gst_alsa_sink_check_event):
* ext/esd/esdsink.c: (gst_esdsink_chain):
* ext/libcaca/gstcacasink.c: (gst_cacasink_chain):
* ext/mas/massink.c: (gst_massink_chain):
* ext/sdl/sdlvideosink.c: (gst_sdlvideosink_chain):
* gst/matroska/matroska-demux.c: (gst_matroska_demux_parse_index),
(gst_matroska_demux_parse_metadata):
* gst/mpegstream/gstmpegparse.c: (gst_mpeg_parse_loop),
(gst_mpeg_parse_release_locks):
* gst/tcp/gsttcpsink.c: (gst_tcpsink_chain):
* gst/udp/gstudpsink.c: (gst_udpsink_chain):
* gst/videotestsrc/gstvideotestsrc.c: (gst_videotestsrc_get):
* sys/oss/gstosssink.c: (gst_osssink_init), (gst_osssink_chain),
(gst_osssink_change_state):
* sys/v4l/gstv4lmjpegsink.c: (gst_v4lmjpegsink_chain):
* sys/ximage/ximagesink.c: (gst_ximagesink_chain):
* sys/xvideo/xvideosink.c: (gst_xvideosink_chain),
(gst_xvideosink_release_locks):
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_chain):
use element time.
* ext/alsa/gstalsaclock.c: (gst_alsa_clock_start),
(gst_alsa_clock_stop):
* gst-libs/gst/audio/audioclock.c: (gst_audio_clock_set_active),
(gst_audio_clock_get_internal_time):
simplify for use with new clocking code.
* testsuite/alsa/Makefile.am:
* testsuite/alsa/sinesrc.c: (sinesrc_init), (sinesrc_force_caps):
fix testsuite for new caps system
2004-01-14 00:53:52 +00:00
Jon Trowbridge
42501950c3 gst-libs/gst/colorbalance/colorbalance.h: Adding a type to the colorbalance interface stating if it is hardware based...
Original commit message from CVS:
2004-01-13  Julien MOUTTE <julien@moutte.net>

* gst-libs/gst/colorbalance/colorbalance.h: Adding a type to the
colorbalance interface stating if it is hardware based or software
based.
* gst/videofilter/gstvideobalance.c: (gst_videobalance_planar411):
Removing a trailing comma.
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_xcontext_get),
(gst_xvimagesink_colorbalance_init): Integrating a patch from Jon
Trowbridge <trow@ximian.com> querying Xv adaptor for min/max value as
the documentation seems to be wrong on the -1000 to 1000 interval.
2004-01-13 17:57:25 +00:00
Julien Moutte
cdc86d423e gst-libs/gst/colorbalance/colorbalancechannel.c: Adding safety check in dispose method.
Original commit message from CVS:
2004-01-12  Julien MOUTTE <julien@moutte.net>

* gst-libs/gst/colorbalance/colorbalancechannel.c:
(gst_color_balance_channel_dispose): Adding safety check in dispose
method.
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_xcontext_get),
(gst_xvimagesink_xcontext_clear),
(gst_xvimagesink_interface_supported),
(gst_xvimagesink_colorbalance_list_channels),
(gst_xvimagesink_colorbalance_set_value),
(gst_xvimagesink_colorbalance_get_value),
(gst_xvimagesink_colorbalance_init), (gst_xvimagesink_get_type):
Adding colorbalance interface support to set XV parameters such as
HUE, BRIGHTNESS, CONTRAST, SATURATION.
* sys/xvimage/xvimagesink.h: Adding the channels list for colorbalance
interface.
2004-01-12 19:50:29 +00:00
Thomas Vander Stichele
b2e8f0ecfd adding structure setters matching the templates for audio
Original commit message from CVS:
adding structure setters matching the templates for audio
2004-01-12 19:35:54 +00:00
Julien Moutte
bbf8b3e723 gst-libs/gst/play/gstplay.c: When analyzing the pads of an element the bin is mostly in READY state so no caps were n...
Original commit message from CVS:
2004-01-12  Julien MOUTTE <julien@moutte.net>

* gst-libs/gst/play/gstplay.c: (gst_play_get_sink_element): When
analyzing the pads of an element the bin is mostly in READY state so
no caps were negotiated. This helper function needs to work with
_get_caps directly then. I was not freeing them though, added that to
fix the mem leak.
2004-01-12 16:48:48 +00:00
David Schleef
0a62d3b4e8 Make sure everybody wraps #include "config.h" in #ifdef HAVE_CONFIG_H
Original commit message from CVS:
* 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
2004-01-12 04:15:47 +00:00
David Schleef
d33b0d62aa Remove all usage of gst_pad_get_caps(), and replace it with gst_pad_get_allowed_caps() or gst_pad_get_negotiated_cap().
Original commit message from CVS:
Remove all usage of gst_pad_get_caps(), and replace it with
gst_pad_get_allowed_caps() or gst_pad_get_negotiated_cap().
2004-01-12 03:40:18 +00:00
Benjamin Otte
09984b518a gst-libs/gst/tuner/tuner.*: GObjects aren't const.
Original commit message from CVS:
2004-01-12  Benjamin Otte  <in7y118@public.uni-hamburg.de>

* gst-libs/gst/tuner/tuner.c: (gst_tuner_class_init),
(gst_tuner_find_norm_by_name), (gst_v4l2_find_channel_by_name),
(gst_tuner_channel_changed), (gst_tuner_norm_changed),
(gst_tuner_frequency_changed), (gst_tuner_signal_changed):
* gst-libs/gst/tuner/tuner.h:
GObjects aren't const.
Add find_by_name functions.
Add checks to _changed functions.
* sys/v4l/gstv4ltuner.c: (gst_v4l_tuner_get_channel),
(gst_v4l_tuner_get_norm):
Fixes for above.
2004-01-12 02:11:03 +00:00
Benjamin Otte
f768ab94c7 gst-libs/gst/video/video.h: Fix caps template names to be understandable.
Original commit message from CVS:
2004-01-12  Benjamin Otte  <in7y118@public.uni-hamburg.de>

* gst-libs/gst/video/video.h:
Fix caps template names to be understandable.
Prefix everything with GST_VIDEO.
* ext/aalib/gstaasink.c:
* ext/divx/gstdivxdec.c:
* ext/divx/gstdivxenc.c:
* ext/gdk_pixbuf/gstgdkpixbuf.c:
* ext/hermes/gstcolorspace.c: (gst_colorspace_base_init):
* ext/jpeg/gstjpegdec.c: (raw_caps_factory):
* ext/jpeg/gstjpegenc.c: (raw_caps_factory):
* ext/libcaca/gstcacasink.c:
* ext/libpng/gstpngenc.c: (raw_caps_factory):
* ext/snapshot/gstsnapshot.c:
* ext/swfdec/gstswfdec.c:
* ext/xvid/gstxviddec.c:
* ext/xvid/gstxvidenc.c:
* gst/chart/gstchart.c:
* gst/deinterlace/gstdeinterlace.c:
* gst/effectv/gsteffectv.c:
* gst/flx/gstflxdec.c: (gst_flxdec_loop):
* gst/goom/gstgoom.c:
* gst/median/gstmedian.c:
* gst/monoscope/gstmonoscope.c: (gst_monoscope_init),
(gst_monoscope_srcconnect), (gst_monoscope_chain):
* gst/overlay/gstoverlay.c:
* gst/smooth/gstsmooth.c:
* gst/smpte/gstsmpte.c:
* gst/synaesthesia/gstsynaesthesia.c:
* gst/videocrop/gstvideocrop.c:
* gst/videodrop/gstvideodrop.c:
* gst/y4m/gsty4mencode.c:
* sys/qcam/gstqcamsrc.c:
* sys/v4l/gstv4lsrc.c: (gst_v4lsrc_palette_to_caps):
Make them work with new video.h file.
* sys/ximage/ximagesink.c: (gst_ximagesink_chain),
(gst_ximagesink_buffer_free), (gst_ximagesink_buffer_alloc):
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_chain),
(gst_xvimagesink_buffer_free), (gst_xvimagesink_buffer_alloc):
Make it work with new buffer allocation system.
2004-01-12 02:01:52 +00:00
Benjamin Otte
ff11b1036d I'm too lazy to comment this
Original commit message from CVS:
*** empty log message ***
2004-01-11 19:34:15 +00:00
Julien Moutte
6b9e58c9e4 ext/ffmpeg/gstffmpegcolorspace.c: Implementing gst_pad_alloc_buffer to use optimized buffer allocation.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegcolorspace.c: (gst_ffmpegcsp_chain):
Implementing gst_pad_alloc_buffer to use optimized buffer allocation.
* gst-libs/gst/xoverlay/xoverlay.c:
(gst_x_overlay_got_desired_size): Updating doc for the xid being 0.
* gst/videoscale/gstvideoscale.c: (gst_videoscale_chain):
Implementing gst_pad_alloc_buffer to use optimized buffer allocation.
* gst/videotestsrc/gstvideotestsrc.c: (gst_videotestsrc_get):
Implementing gst_pad_alloc_buffer to use optimized buffer allocation.
* sys/ximage/ximagesink.c: (gst_ximagesink_chain),
(gst_ximagesink_buffer_free), (gst_ximagesink_buffer_alloc),
(gst_ximagesink_set_xwindow_id), (gst_ximagesink_init): Implementing
the bufferalloc_function to replace bufferpools, fixing the XOverlay
interface implementation to handle xid being 0 and fix some bugs
triggered by Benjamin's testcase.
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_chain),
(gst_xvimagesink_buffer_free), (gst_xvimagesink_buffer_alloc),
(gst_xvimagesink_set_xwindow_id), (gst_xvimagesink_init): Implementing
the bufferalloc_function to replace bufferpools, fixing the XOverlay
interface implementation to handle xid being 0 and fix some bugs
triggered by Benjamin's testcase.
2004-01-09 18:05:57 +00:00