summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2015-03-23wipHEADmasterThiago Santos3-33/+118
2015-03-20tests: input-selector: verify that eos from unselected pads blockThiago Santos1-0/+48
Adds a test that creates 2 inputs for input-selector, one of which is an empty stream (just pushes an EOS event) while the other has 1 buffer before EOS. The selected stream is the one that has the buffer. input-selector should block the EOS on the unselected pad and forward the buffer on the other one before forwarding the EOS (once all pads are EOS) https://bugzilla.gnome.org/show_bug.cgi?id=746518
2015-03-20tests: selector: remove weird semicolons at the end of test functionsThiago Santos1-6/+6
Even though it works, it is not needed and seems more natural to not have semicolons at the end of function declarations
2015-03-20output-selector: add drain handlingThiago Santos1-0/+13
Release the latest buffer, if any
2015-03-20valve: Don't drop non-serialized queries when the valve is droppingSebastian Dröge1-1/+1
Otherwise we end up dropping e.g. CAPS queries, and then upstream just negotiates to whatever format it wants to. Once the valve is not-dropping anymore this can easily result in negotiation failing completely. https://bugzilla.gnome.org/show_bug.cgi?id=746448
2015-03-20segment: remove the bounds check from _to_running_time_full()Wim Taymans5-96/+61
Do not do any checks for the start/stop in the new gst_segment_to_running_time_full() method, we can let this be done by the more capable gst_segment_clip() method. This allows us to remove the enum of results and only return the sign of the calculated running-time. We need to put the old clipping checks in the old gst_segment_to_running_time() still because they work slightly differently than the _clip methods. See https://bugzilla.gnome.org/show_bug.cgi?id=740575
2015-03-19segment: add option to disable clippingWim Taymans3-24/+34
Add a clip argument to gst_segment_to_running_time_full() to disable the checks against the segment boundaries. This makes it possible to generate an extrapolated running-time for timestamps outside of the segment. See https://bugzilla.gnome.org/show_bug.cgi?id=740575
2015-03-18gst: ref/unref new enum type in gst_init/deinit()Tim-Philipp Müller1-0/+2
2015-03-18tools: remove outdated completion scriptMathieu Duponchelle2-337/+0
+ Remove the associated test https://bugzilla.gnome.org/show_bug.cgi?id=744877#c21
2015-03-18segment: add helper to get negative running-timeWim Taymans4-48/+191
Add a helper method to get a running-time with a little more features such as detecting if the value was before or after the segment and negative running-time. API: gst_segment_to_running_time_full() Fixes https://bugzilla.gnome.org/show_bug.cgi?id=740575
2015-03-18segment: fix offset handling with non 0 startWim Taymans2-1/+52
The position in the segment is relative to the start but the offset isn't, so subtract the start from the position when setting the offset. Add unit test for this as well.
2015-03-18funnel: Add support for buffer listsSebastian Dröge1-5/+33
2015-03-17baseparse: remove duplicate codeOlivier Crête1-10/+0
These are already freed by gst_base_parse_clear_queues() https://bugzilla.gnome.org/show_bug.cgi?id=679768
2015-03-17pluginloader: Fix indentionSebastian Dröge1-6/+6
2015-03-16baseparse: reset skip on segments and discontinuitiesVincent Penquerc'h1-0/+3
Large scale skip is an optimization, and thus it is safer to stop skipping than to continue. Clear skip on segments and discontinuities, as these are points where it is possible that the original idea of "bytes to skip" changes.
2015-03-15multiqueue: Don't grow queue infinitely if only one pad is linkedSebastian Dröge1-14/+5
This was introduced by https://bugzilla.gnome.org/show_bug.cgi?id=719893 https://bugzilla.gnome.org/show_bug.cgi?id=722891 but it doesn't make any sense at all and causes huge memory leaks. https://bugzilla.gnome.org/show_bug.cgi?id=744253
2015-03-14basesink: handle empty buffer list more gracefullyTim-Philipp Müller1-1/+12
Don't abort, just ignore it. It's like a buffer without memories.
2015-03-14adapter: minor optimisation for gst_adapter_take_buffer_list()Tim-Philipp Müller1-1/+13
Try to allocate buffer list with a suitable size from the beginning to avoid having to re-alloc the buffer list array.
2015-03-14tests: add unit test for gst_adapter_take_buffer_list()Tim-Philipp Müller1-0/+48
2015-03-14adapter: add gst_adapter_take_buffer_list()Tim-Philipp Müller4-0/+49
API: gst_adapter_take_buffer_list()
2015-03-14Add new streamiddemux binaries to .gitignoreTim-Philipp Müller2-30/+2
2015-03-14collectpads: avoid multiple calls to gst_buffer_get_size() in macroTim-Philipp Müller1-2/+3
2015-03-14adapter: avoid multiple calls to gst_buffer_get_size() in macroTim-Philipp Müller1-4/+6
2015-03-14element: properly escape percent sign in documentationRamiro Polla1-1/+1
2015-03-14buffer: Use the correct enum type to fix a compiler warningSebastian Dröge1-1/+1
gstbuffer.c:522:58: error: implicit conversion from enumeration type 'GstBufferFlags' to different enumeration type 'GstBufferCopyFlags' [-Werror,-Wenum-conversion] if (!gst_buffer_copy_into (copy, (GstBuffer *) buffer, flags, 0, -1)) ~~~~~~~~~~~~~~~~~~~~ ^~~~~ gstbuffer.c:534:46: error: implicit conversion from enumeration type 'GstBufferCopyFlags' to different enumeration type 'GstBufferFlags' [-Werror,-Wenum-conversion] return gst_buffer_copy_with_flags (buffer, GST_BUFFER_COPY_ALL); ~~~~~~~~~~~~~~~~~~~~~~~~~~ ^~~~~~~~~~~~~~~~~~~ ./gstbuffer.h:433:31: note: expanded from macro 'GST_BUFFER_COPY_ALL' ...((GstBufferCopyFlags)(GST_BUFFER_COPY_METADATA | GST_BUFFER_COPY_MEMORY)) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2015-03-14defs: update defsWim Taymans1-0/+3
2015-03-14meta: Add `GstNetControlMessageMeta`William Manley4-0/+203
GstNetAddress can be used to store ancillary data which was received with or is to be sent alongside the buffer data. When used with socket sinks and sources which understand this meta it allows sending and receiving ancillary data such as unix credentials (See `GUnixCredentialsMessage`) and Unix file descriptions (See `GUnixFDMessage`). This will be useful for implementing protocols which use file-descriptor passing in payloaders/depayloaders without having to re-implement all the socket handling code already present in elements such as multisocketsink, etc. This, in turn, will be useful for implementing zero-copy video IPC. This meta uses the platform independent `GSocketControlMessage` API provided by GLib as a part of GIO. As a result this new meta does not require any new dependencies or any conditional compliation for portablility, although it is unlikely to do anything useful on non-UNIX platforms.
2015-03-14allocation: Allow allocation pool without sizeNicolas Dufresne1-1/+0
This allow proposing a number of buffers required even if the size of buffer is unfixed. This is often the case for encoded formats.
2015-03-14bufferpool: Don't stop the pool in set_config()Nicolas Dufresne2-34/+8
Don't stop the pool in set_config(). Instead, let the controlling element manage it. Most of the time, when an active pool is being configured is because the caps didn't change. https://bugzilla.gnome.org/show_bug.cgi?id=745377
2015-03-13basesink: drain on allocation queryThiago Santos1-8/+14
Allows buffers to be reclaimed when caps is to be renegotiated so that bufferpools can be stopped. As the allocation query is serialized all buffers have been already drained from the pipeline, except this last_sample one. https://bugzilla.gnome.org/show_bug.cgi?id=682770
2015-03-13basesink: when draining, deep copy the last buffer to unref old memoryThiago Santos1-1/+1
Use gst_buffer_copy_deep() to force the copy of the underlying memory instead of possibly doing a shallow copy of the buffer and just referencing the memory https://bugzilla.gnome.org/show_bug.cgi?id=745287
2015-03-13gstbuffer: add gst_buffer_copy_deepThiago Santos4-5/+67
A variant of gst_buffer_copy that forces the underlying memory to be copied. This is added to avoid adding an extra reference to a GstMemory that might belong to a bufferpool that is trying to be drained. The use case is when the buffer copying is done to release the old buffer and all its resources. https://bugzilla.gnome.org/show_bug.cgi?id=745287
2015-03-13bus: Use g_list_free_full() instead of manually unreffing and freeingSebastian Dröge1-6/+2
Also unref the messages, not the GList nodes.
2015-03-13bus: Fix another case where we hold the object lock while unreffing a messageSebastian Dröge1-1/+1
2015-03-13bus: Unreferencing messages outside the lockVivia Nikolaidou1-1/+8
Shouldn't take the lock while unreferencing messages, because that may cause more messages to be sent, which will try to take the lock and cause the app to hang. Fixes https://bugzilla.gnome.org/show_bug.cgi?id=728777
2015-03-13utils: Add gst_bin_sync_children_states()Vivia Nikolaidou4-0/+56
gst_bin_sync_children_states() will iterate over all the elements of a bin and sync their states with the state of the bin. This is useful when adding many elements to a bin and would otherwise have to call gst_element_sync_state_with_parent() on each and every one of them. https://bugzilla.gnome.org/show_bug.cgi?id=745042
2015-03-12printf: handle unsigned modifier for long longAurélien Zanelli1-0/+5
Otherwise, an unsigned integer will be displayed as a signed one if we use internal print, ie HAVE_LONG_LONG_FORMAT is not defined. https://bugzilla.gnome.org/show_bug.cgi?id=746096
2015-03-12streamiddemux: Reset pad counter after removing all padsSebastian Dröge1-0/+1
2015-03-12streamiddemux: Add streamiddemux elementHoonHee Lee10-0/+1238
Demultiplex a stream to multiple source pads based on the stream ids from the stream-start events. This basically reverses the behaviour of funnel. https://bugzilla.gnome.org/show_bug.cgi?id=707605
2015-03-12win32: updateTim-Philipp Müller3-7/+104
2015-03-12tests: add some basic unit tests for our printf stuffTim-Philipp Müller3-0/+147
To test new %I32 support. https://bugzilla.gnome.org/show_bug.cgi?id=744281
2015-03-12printf: add support for %I32Matej Knopp1-0/+4
https://bugzilla.gnome.org/show_bug.cgi?id=744281
2015-03-12info: move category level threshold check into log function dispatcherTim-Philipp Müller1-3/+4
Minor optimisation: check category log level earlier in the log function dispatcher and not only in the default log function. https://bugzilla.gnome.org/show_bug.cgi?id=745213
2015-03-12typefind: Reset segment when deactivating pull mode or not running in pull modeSebastian Dröge1-0/+2
We use the segment format to detect if we run the streaming thread or not. Without resetting we might believe we do so, although we only did in the past and are now running in e.g. push mode. https://bugzilla.gnome.org/show_bug.cgi?id=745073
2015-03-11check: Use mkstemp instead of tempnam if possibleMichał Dębski2-1/+20
Using tempnam() is deprecated, this gives warning and fails the build with -Werror. https://bugzilla.gnome.org/show_bug.cgi?id=745858
2015-03-11basesink: clean up the need_preroll variableWim Taymans1-5/+2
Based on patch from Song Bing <b06498@freescale.com> Don't just set the need_preroll flag to TRUE in all cases. When we are already prerolled it needs to be set to FALSE and when we go to READY we should not touch it. We should only set it to TRUE in other cases, like what the code above does. See https://bugzilla.gnome.org/show_bug.cgi?id=736655
2015-03-10funnel: handle GAP event to forwards sticky events into downstreamhoonhee.lee2-0/+139
If no data is coming and funnel receive GAP event, need to forwards sticky events into downstream if it needs. https://bugzilla.gnome.org/show_bug.cgi?id=738202
2015-03-10check: duplicate code branchesLuis de Bethencourt1-5/+1
CID #1226446
2015-03-10Fix double semicolonsTim-Philipp Müller2-2/+2
2015-03-07win32: update exportsMark Nauwelaerts1-0/+2