summaryrefslogtreecommitdiff
path: root/libs
Commit message (Collapse)AuthorAgeFilesLines
...
* testclock: remove unused variableTim-Philipp Müller2014-04-121-2/+0
| | | | Fixes compiler warning.
* testclock: add support for waiting and releasing multiple GstClockIDsHavard Graff2014-04-123-68/+221
| | | | | | | | | In order to be deterministic, multiple waiting GstClockIDs needs to be released at the same time, or else one can get into the situation that the one being released first can add itself back again before the next one waiting is released. Test added for new API and old tests rewritten to comply.
* baseparse: Fix memory leakJose Antonio Santos Cadenas2014-04-091-0/+1
| | | | | | | Queued frames were not released after being pushed, this caused a leak of the GstBaseParseFrame structure. https://bugzilla.gnome.org/show_bug.cgi?id=727883
* Revert "check: only call setpgid on valid child PIDs"Tim-Philipp Müller2014-04-071-2/+1
| | | | | | | | This reverts commit b9313afc75b68d986e473b76b55543456857912b. This should be fixed in upstream libcheck instead. We want to keep diff of our local copy to upstream libcheck to a minimum.
* check: only call setpgid on valid child PIDsVincent Penquerc'h2014-04-071-1/+2
| | | | Coverity 206186
* baseparse: Remove always-true-checksEdward Hervey2014-04-051-1/+0
| | | | | | | a gsize is guaranteed to be positive on all systems since it's an unsigned value. CID #1037147
* adapter: Remove always-true-checksEdward Hervey2014-04-051-2/+0
| | | | | | | | a gsize is guaranteed to be positive on all systems since it's an unsigned value. CID #1037145 CID #1037146
* baseparse: Make sure to set the DISCONT flag on the first buffer of each GOP ↵Sebastian Dröge2014-04-031-0/+8
| | | | in reverse playback mode
* basesrc: removing duplicated inner ifThiago Santos2014-04-031-11/+6
| | | | | | | The inner if replicates the same code of the outer and is useless as flag_segment will always be true. Found by coverity.
* baseparse: Fix splitting and reversing of GOPs in reverse playback modeSebastian Dröge2014-03-291-2/+4
| | | | | | | We iterate the current discont group backwards and push each GOP forwards, starting from the last one. However if the first buffer in the current discont group is a keyframe, we will keep it around until next time, which is far from ideal. Just push it.
* basesink: copy last_sample on DRAINWim Taymans2014-03-241-0/+10
| | | | | Make sure we don't hold a ref to a buffer from before the DRAIN query by making a copy of the last_buffer.
* basesink: Update start time when we lose our stateSebastian Dröge2014-03-181-0/+40
| | | | Otherwise we report not the correct position while the state is lost.
* basesink: Don't clip the reported position in PAUSED to after the last ↵Sebastian Dröge2014-03-181-13/+6
| | | | | | | buffer end timestamp Otherwise we jump forward when pausing, and go backwards a bit again when resuming playback.
* collectpads: When seek flushed, immediately set eospads to 0Mathieu Duponchelle2014-03-161-1/+5
| | | | | | | | | | | This prevents situations where a first branch would get seeked and receive a buffer before all branches got seeked, and thus collected would get called based on EOS from the previous segment. As a consequence, during the process of seeking, don't decrease the eospads number when a FLUSH_STOP is received. Fixes https://bugzilla.gnome.org/show_bug.cgi?id=724571
* collectpads: Unref peer padSebastian Dröge2014-03-161-1/+3
|
* collectpads: Forward seek events to the peer directlyMathieu Duponchelle2014-03-161-1/+6
| | | | | | Taken from the adder seek handling code. Fixes https://bugzilla.gnome.org/show_bug.cgi?id=726461
* adapter: Adapt gst_adapter_copy() for bindingsSebastian Rasmussen2014-03-152-1/+29
| | | | | | | This is done by introducing a new gst_adapter_copy_bytes() call that returns a GBytes structure. Fixes https://bugzilla.gnome.org/show_bug.cgi?id=725476
* docs: Fix typos and remove unknown annotationsSebastian Rasmussen2014-03-021-1/+1
| | | | Fixes https://bugzilla.gnome.org/show_bug.cgi?id=725517
* basesrc: Do not send eos when seeking after last bufferThiago Santos2014-02-241-1/+3
| | | | | | | | | If pushing the last buffer triggers a seek from downstream, do not go into EOS if a new segment was requested. Contains unit test https://bugzilla.gnome.org/show_bug.cgi?id=724757
* check: also use the glob on GST_CHECKS when forcing to run broken testsStefan Sauer2014-02-192-3/+9
| | | | | GST_CHECKS can be simply "test*" to run run all tests (including those that are marked broken). Update the sparse comments a bit to tell how this works.
* basesrc: in automatic_eos mode, don't modify the sizeWim Taymans2014-02-181-7/+9
| | | | | | | | Don't set the size to -1 in automatic_eos mode (which also updates the duration to -1). We only want automatic_eos mode influence the maxsize calculations without any side effects. Fixes https://bugzilla.gnome.org/show_bug.cgi?id=724564
* basesrc: Add gst_base_src_set_automatic_eos() APISebastian Dröge2014-02-132-1/+27
| | | | | | This defaults to TRUE and if it is set to FALSE it is the subclasses responsibility to return GST_FLOW_EOS from the create() vmethod once the stream is done.
* check: add support for blacklisting checks via GST_CHECKS_IGNORETim-Philipp Müller2014-02-091-5/+28
|
* gst: clear floating references for GstTask, GstTaskPool and GstCollectPadsBrendan Long2014-02-061-0/+3
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=710342
* docs: fix more gtk-doc warningsStefan Sauer2014-02-011-2/+2
|
* basesrc: do not forget to clear the forced_eos flagThiago Santos2014-01-241-0/+4
| | | | | otherwise it will always use the seqnum of the event sent by the application
* basesrc: preserve seqnum of eos events sent by the userThiago Santos2014-01-241-20/+65
| | | | | | | | | | | | | | | | Store the eos event seqnum and use it when creating the new eos event to be pushed downstream. To know if the eos was caused by the eos events received on send_event, a 'forced_eos' flag is used to use the correct seqnum on the event pushed downstream. Useful if the application wants to check if the EOS message was generated from its own pushed EOS or from another source (stream really finished). Also adds a test for this https://bugzilla.gnome.org/show_bug.cgi?id=722791
* baseparse: do not accumulate buffers on passthrough modeThiago Santos2014-01-131-0/+29
| | | | | | | | If on passthrough during reverse playback, do not accumulate buffers as baseparse will never check for DISCONT flag to push those buffers. So just push buffers downstream as if it was forward playback. https://bugzilla.gnome.org/show_bug.cgi?id=721941
* basesrc: don't confuse GST_PAD_MODE_NONE and PULLStefan Sauer2014-01-091-20/+35
| | | | Use a switch-case to explicitly handle all pad-modes. This way we don't log an error when the pad is not yet activated.
* baseparse: do not ignore TIME segmentsThiago Santos2014-01-081-0/+1
| | | | | | | | | TIME segments are being ignored and a standard initialized segment is used instead. This causes issues as not properly detecting reverse playback or not cliping output based on the segment. This seems to be a regression from one of the GstSegment/GstEvent redesigns on the 0.10 -> 1.0 transition
* collectpads: take offset into account for expected segment positionWim Taymans2014-01-081-2/+5
| | | | | The firt valid segment position is start + offset. Also add some more debug and a FIXME
* basesrc: demote error to warningStefan Sauer2014-01-061-1/+2
| | | | | This is not an error. A subclass returning FALSE for is_seekable() is one way of saying that we can't operate in pull mode.
* baseparse: remove pending_segment as it was being misusedThiago Santos2014-01-021-14/+12
| | | | | | | | | | It wasn't required, instead baseparse was using it to check the media caps to identify if it was handling audio or video. The pending_segment was removed and a checked_media boolean replaced it for a more accurate naming. https://bugzilla.gnome.org/show_bug.cgi?id=721350
* baseparse: push pending events before GAP eventThiago Santos2014-01-021-0/+3
| | | | | | | | | | | A GAP event is handled as an empty buffer by sinks and they expect to receive start up events before GAP events (like a segment). This is important specially if there is a GAP at the beginning of a stream (before any buffers) so that the segment event can be pushed downstream before the GAP https://bugzilla.gnome.org/show_bug.cgi?id=721350
* baseparse: refactor pending events pushingThiago Santos2014-01-021-31/+26
| | | | | | Refactor code repeated 3 times to a common function https://bugzilla.gnome.org/show_bug.cgi?id=721350
* nettimeprovider: remove unnecessary NULL checkTim-Philipp Müller2013-12-301-2/+1
| | | | | | Error is never NULL when we break out of the loop. COVERITY CID 1037151
* Revert "nettimeprovider: Remove dead code"Tim-Philipp Müller2013-12-301-0/+3
| | | | | | | This reverts commit 9649cd4ca19a75d0319117a77a7609e4b8c96533. This is not right, and it's also not what coverity is complaining about.
* nettimeprovider: Remove dead codeEdward Hervey2013-12-301-3/+0
| | | | | | err is always NULL by the point we reach this line COVERITY CID 1037151
* basesrc: use segment start if DTS for first buffer is unsetDavid Svensson Fors2013-12-171-1/+5
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=720199
* bytereader: add inline variant of gst_byte_reader_init()Tim-Philipp Müller2013-12-141-0/+13
|
* docs: fix docs for gst_queue_array_peek_head()Tim-Philipp Müller2013-12-141-1/+1
|
* controller: Fix out-of-bounds detectionEdward Hervey2013-12-101-1/+1
| | | | | | | We want to abort if we higher than the maximum *OR* lower than the minimum accepted value. Detected by Coverity.
* docs: Fix typos in function/object descriptionsSebastian Rasmussen2013-12-0716-37/+38
| | | | Fixes https://bugzilla.gnome.org/show_bug.cgi?id=720029
* Fix some typos in code comments and debug messagesSebastian Rasmussen2013-12-073-4/+4
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=720029
* basesrc: Set format to TIME if do-timestamp is TRUEOlivier Crête2013-12-051-0/+2
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=702842
* docs: cosmetic changes in references/decriptionsSebastian Rasmussen2013-12-026-12/+7
| | | | | | | | | | | | | | | | | | * fix typo GstBufferFlag -> GstBufferFlags * fix typo GstFeatures -> GstCapsFeatures * fix typo GstAllocatorParams -> GstAllocationParams * fix typo GstContrlSources -> GstControlSource * do not refer to gstcheck as an object * make references gtk_init() and tcase_set_timeout() not be references * gst_element_get_pad() renamed gst_element_get_static_pad() * gst_clock_id_wait_async_full() renamed gst_clock_id_wait_async() * _drop_element() is really gst_queue_array_drop_element() * gst_pad_accept_caps() was removed, do not refer to it * separate GST_META_TAG_MEMORY_STR declaration from description * do not describe removed gst_collect_pads_collect() * correctly link to GstElementClass' virtual set_context() Fixes https://bugzilla.gnome.org/show_bug.cgi?id=719614
* netclock: Fix docstring for round-trip-limit and uninit access warning.Jan Schmidt2013-11-271-12/+4
| | | | | | | | Fix a typo in a doc string - the property is round-trip-limit, not roundtrip-limit. Remove a bogus GST_WARNING that can print an uninitialised variable and is redundant anyway.
* netclock: Add round-trip-limit parameterCarlos Rafael Giani2013-11-271-6/+52
| | | | | | | | | | | | | Sometimes, packets might take a very long time to return. Such packets usually are way too late and destabilize the regression with their obsolete data. On Wi-Fi, round-trips of over 7 seconds have been observed. If the limit is set to a nonzero value, packets with a round-trip period larger than the limit are ignored. Signed-off-by: Carlos Rafael Giani <dv@pseudoterminal.org> https://bugzilla.gnome.org/show_bug.cgi?id=712385
* netclock: Fix C99 commentJan Schmidt2013-11-261-1/+1
|
* netclock: Implement rolling-average filter on observations.Jan Schmidt2013-11-261-3/+33
| | | | | | | | | | | Keep a rolling average of the round trip time for network clock observations, favouring shorter round trips as being more accurate. Don't pass any clock observation to the clock slaving if it has a round-trip time greater than 2 times the average. Actual shifts in the network topology will be noticed after some time, as the rolling average incorporates the new round trip times.