summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Fix .gitmodules to use baserock upstreambaserock/1.4Javier Jardón2014-11-141-1/+1
|
* Release 1.4.41.4.4Sebastian Dröge2014-11-0634-42/+229
|
* Update .po filesSebastian Dröge2014-11-0638-38/+38
|
* tests: dist header file needed for ABI checks on powerpc32Tim-Philipp Müller2014-11-061-0/+1
| | | | | Fixes 'make check' on debian powerpc32 buildbot: libs/libsabi.c:95:26: fatal error: struct_ppc32.h: No such file or directory
* rtspconnection: call watch notify before freeing any watch resourcesAleix Conchillo Flaqué2014-10-241-3/+3
| | | | | | | This gives control to the notify function allowing it to finish other watch related functionality. https://bugzilla.gnome.org/show_bug.cgi?id=737752
* appsink: Fix gst_app_sink_pull() docs to transfer full for the return valueSebastian Dröge2014-10-241-2/+4
| | | | Also we get a GstSample, not a GstBuffer here.
* audiodecoder: should post DECODE errors and not ENCODEThiago Santos2014-10-241-3/+3
| | | | Fix error code for audio decoder
* playsink: Use correct property enum value for video-filter property installationHeinrich Fink2014-10-241-1/+1
|
* decodebin: Only emit the drain signal for the main decode chain, not any ↵Andrei Sarakeev2014-10-141-1/+1
| | | | | | subchains https://bugzilla.gnome.org/show_bug.cgi?id=738064
* videoencoder: Stop storing if we received EOSSebastian Dröge2014-10-141-10/+0
| | | | | | | | | This was never reset when going from PAUSED->READY and resulted in encoders being not reusable after EOS. They just rejected any buffer because they received EOS in their previous life. The flag wasn't used anywhere except for rejecting buffers after EOS, and this is now handled by GstPad directly.
* vorbisdec: don't reorder streams with channels count greater than eightAurélien Zanelli2014-10-141-1/+31
| | | | | | | | | vorbis_reorder_map is defined for eight channels max. If we have more than eight channels, it's the application which shall define the order. Since we set audio position to none, we just interleave all the channels without any particular reordering. https://bugzilla.gnome.org/show_bug.cgi?id=737742
* videoencoder: release frame in finish_frame when no output state is configuredAurélien Zanelli2014-10-141-0/+1
| | | | | | Otherwise, frame is leaked. https://bugzilla.gnome.org/show_bug.cgi?id=737706
* audiosink: compensate for segment restart with clock's time_offsetThiago Santos2014-10-141-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | When playing chained data the audio ringbuffer is released and then acquired again. This makes it reset the segbase/segdone variables, but the next sample will be scheduled to play in the next position (right after the sample from the previous media) and, as the segdone is at 0, the audiosink will wait the duration of this previous media before it can write and play the new data. What happens is this: pointer at 0, write to 698-1564, diff 698, segtotal 20, segsize 1764, base 0 it will have to wait the length of 698 samples before being able to write. In a regular sample playback it looks like: pointer at 677, write to 696-1052, diff 19, segtotal 20, segsize 1764, base 0 In this case it will write to the next available position and it doesn't need to wait or fill with silence. This solution is borrowed from pulsesink that resets the clock to start again from 0, which makes it reset the time_offset to the time of the last played sample. This is used to correct the place of writing in the ringbuffer to the new start (0 again) https://bugzilla.gnome.org/show_bug.cgi?id=737055
* Release 1.4.31.4.3Sebastian Dröge2014-09-2434-65/+171
|
* Update .po filesSebastian Dröge2014-09-2438-38/+38
|
* videoscale Use stride instead of width in more placesSebastian Dröge2014-09-241-4/+4
|
* videoscale: Use width instead of stride in buffer offset calculationSanjay NM2014-09-241-2/+2
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=736944
* videodecoder: Reset last_timestamp_out on new segmentJan Schmidt2014-09-232-7/+8
| | | | | | | | | | Reset last_timestamp_out when applying the output segment change, to avoid decoder confusion over new timestamp timelines when a seamless segment change happens. Move some locks/unlocks to later when they're actually needed. https://bugzilla.gnome.org/show_bug.cgi?id=734617
* xvimagesink: only try to set XV_ITURBT_709 port attribute if it existsTim-Philipp Müller2014-09-232-1/+10
| | | | | | | | | | | | Don't try to set port attribute that's not advertised by the adaptor. Fixes videotestsrc ! xvimagesink aborting with X Error of failed request: BadMatch (invalid parameter attributes) Major opcode of failed request: 151 (XVideo) Minor opcode of failed request: 13 () on intel HD4600 graphics with kernel 3.16, xserver 1.15, intel driver 2.21.15.
* Release 1.4.21.4.2Sebastian Dröge2014-09-1934-46/+384
|
* Update .po filesSebastian Dröge2014-09-1938-38/+38
|
* po: Update translationsSebastian Dröge2014-09-192-7/+11
|
* playbin: Don't leak input-selector sinkpadsAndrei Sarakeev2014-09-191-0/+7
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=736861
* audioencoder: do not leak events when flushing themOgnyan Tonchev2014-09-191-5/+4
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=736796
* streamsplitter: do not leak events when flushing themOgnyan Tonchev2014-09-191-5/+5
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=736796
* videodecoder: do not leak events when flushing themOgnyan Tonchev2014-09-191-5/+4
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=736796
* audiodecoder: Simplify code a bitSebastian Dröge2014-09-191-6/+4
|
* videoencoder: do not leak events when flushing themOgnyan Tonchev2014-09-191-5/+4
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=736796
* audiodecoder: Don't leak eventsOgnyan Tonchev2014-09-191-0/+2
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=736788
* audiodecoder: extend flush_events test to check for event leaksOgnyan Tonchev2014-09-191-16/+59
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=736788
* basetextoverlay: Do not fail the negotiation if query failsThiago Santos2014-09-181-5/+9
| | | | | | | | | | The allocation query failure doesn't mean that the negotiation has failed as the element can allocate buffers itself. Instead, only fail if the pads are flushing and the allocation query failed. https://bugzilla.gnome.org/show_bug.cgi?id=735844
* basetextoverlay: get framerate from previously parsed video infoArnaud Vrac2014-09-181-11/+3
|
* basetextoverlay: do not ask for a bufferpool when checking for composition metaArnaud Vrac2014-09-181-1/+1
|
* basetextoverlay: schedule reconfigure on source pad when negotiation failsArnaud Vrac2014-09-181-4/+8
| | | | | | | The source pad might be flushing while negotiating, resulting in set_caps or the ALLOCATION query failing. In this case set the reconfigure flag on the source pad so that negotiation is retried on the next buffer.
* audiocdsrc: do not leak uid after parsing TOC select eventOgnyan Tonchev2014-09-171-0/+1
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=736739
* typefind: correct the condition for irap flagRavi Kiran K N2014-09-171-1/+1
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=736779
* playsink: Add audio/videoconvert in front of the audio/video-filtersSebastian Dröge2014-09-161-4/+48
| | | | | | | | audioresample and videoscale is something the application will have to do if required, but we can at least help here by adding the audioconvert/videoconvert elements. https://bugzilla.gnome.org/show_bug.cgi?id=735748
* videodecoder: do not leak pool and allocator in error caseOgnyan Tonchev2014-09-151-0/+4
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=736679
* audiobasesink: Fix deadlock caused by holding object lock while calling ↵Garg2014-09-131-3/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | clock functions Issue: During a PAUSED->PLAYING transition when we are rendering an audio buffer in AudioBaseSink we make adjustments to the sink's provided clock i.e. fix clock calibration using the external pipeline clock, within "gst_audio_base_sink_sync_latency function inside gstaudiobasesink.c". For the calibration adjustment we need to get the sink clock time using "gst_audio_clock_get_time". But before calling "gst_audio_clock_get_time" we acquire the Object Lock on the Sink. If sink is a pulsesink, "gst_audio_clock_get_time" internally calls "gst_pulsesink_get_time" which needs to acquire Pulse Audio Main Loop Lock before querying Pulse Audio for its stream time using "pa_stream_get_time". Please see "gst_pulsesink_get_time in pulsesink.c". So the situation here is we have acquired the Object lock on Sink and need PA Main Loop Lock. Now Pulse Audio Main Thread itself might be in the process of posting a stream status message after Paused to Playing transition which in turn acquires the PA Main loop lock and needs the Object Lock on Pulse Sink. This causes a deadlock with the earlier render thread. Fix: Do not acquire the object Lock on Sink before querying the time on PulseSink clock. This is similar to the way we have used get_time at other places in the code. Acquire it after the get_time call. This way PA Main loop will be able to post its stream status message by acquiring the Sink Object lock and will eventually release its Main Loop lock needed for gst_pulsesink_get_time to continue. https://bugzilla.gnome.org/show_bug.cgi?id=736071
* videofilter: Unref buffers before calling the transform_frame functionsSebastian Dröge2014-09-131-0/+16
| | | | | | | GstVideoFrame has another reference, so the buffer looks unwriteable, meaning that we can't attach any metas or anything to it https://bugzilla.gnome.org/show_bug.cgi?id=736118
* decodebin: protect buffering message handlingThiago Santos2014-09-111-0/+2
| | | | | Use the object lock to avoid concurrent processing which leads to small disasters (assertions or crashes)
* playbin: filter out buffering messages when switching uriGeorge Kiagiadakis2014-09-111-2/+44
| | | | | | | | | | | When switching URI from about-to-finish, playbin starts decoding the new URI and the queue2 inside uridecodebin starts emitting buffering messages immediately. However, the queue(s) inside playsink still have buffers to play and the pipeline doesn't need to pause for buffering, so we should not send those buffering messages up to the application, otherwise there is an audible glitch caused by pausing the pipeline for a very short time. https://bugzilla.gnome.org/show_bug.cgi?id=727255
* audioresample: don't skip input samplesKipp Cannon2014-09-111-2/+2
| | | | | | | | | | | | | | | | | when downsampling, the output buffer can be filled before all the input samples are consumed. this is correct: when downsampling, several input samples are needed for each output sample, so when only a small number of input samples are available the number of output samples produced can be 0. the resampler, however, was discarding those extra input samples instead of clocking them into its filter history for the next iteration. this patch fixes this by removing the check that the output buffer is full. the code now always loops until all input samples are consumed, and relies on the calling code to have provided a suitably sized location for the output. note that there are already other checks in place in the calling code to ensure that this is the case. https://bugzilla.gnome.org/show_bug.cgi?id=732908
* rtspconnection: Protect readsrc, writesrc and controllsrc with a mutexGöran Jönsson2014-09-041-0/+6
| | | | | | | | Fixes a crash when controlsrc, readsrc or writesrc are modified from gst_rtsp_source_dispatch_read/write and gst_rtsp_watch_reset at the same time. https://bugzilla.gnome.org/show_bug.cgi?id=735569
* videorate: GstStructure refcount critical messageVineeth T M2014-09-041-0/+1
| | | | | | | s3 is not being initialized when run in a loop and the same was being freed, which resulted in the crash https://bugzilla.gnome.org/show_bug.cgi?id=735952
* tests: textoverlay: add test to reproduce fakesink scenarioThiago Santos2014-09-011-0/+107
| | | | | | | | | | | | | Adds a new test to textoverlay to make sure it can properly handle elements that have ANY caps but fail to add the overlay meta in the allocation query. This test verifies that textoverlay won't use the caps features even knowing that the overlay meta is accepted when querying the downstream caps because it also needs downstream to confirm by putting the meta in the allocation query. https://bugzilla.gnome.org/show_bug.cgi?id=735800
* basetextoverlay: properly fallback to non-overlay capsThiago Santos2014-09-011-1/+22
| | | | | | | | | | | When downstream claims to accept the overlay meta but fails to provide it in the allocation query, properly fallback to setting a new caps without the overlay meta as that is not going to be used. Only do this if the original caps doesn't have the overlay already, otherwise there isn't much that can be done. https://bugzilla.gnome.org/show_bug.cgi?id=735800
* textoverlay: Don't hold any mutexes while calling negotiateSebastian Dröge2014-09-011-2/+2
| | | | | | | | It's not done in any other code calling negotiate and will cause deadlocks as it is sending events and queries in the pipeline. Specifically this pipeline was deadlocking: gst-launch-1.0 videotestsrc ! textoverlay ! textoverlay ! fakesink
* Release 1.4.11.4.1Sebastian Dröge2014-08-2734-202/+247
|
* Update .po filesSebastian Dröge2014-08-2738-38/+38
|