summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2017-05-09vpxdec: Set fb->priv to NULL after freeing just in caseSebastian Dröge1-0/+1
https://bugzilla.gnome.org/show_bug.cgi?id=782359
2017-05-08directsoundsink: Use GstClock API instead of Sleep() for waitingDustin Spicuzza2-5/+53
It's more accurate and allows cancellation. https://bugzilla.gnome.org/show_bug.cgi?id=773681
2017-05-08vpx: fix build against older libvpx versionsTim-Philipp Müller1-2/+10
Such as 1.3.0 as on raspbian.
2017-05-08directsoundsink: Fix corner case causing large CPU usageNirbheek Chauhan1-16/+23
We were unnecessarily looping/goto-ing repeatedly when we had exactly the amount of data as the free space, and also when the free space was too small. This, as it turns out, is a very common scenario with Directsound on Windows. Fixes https://bugzilla.gnome.org/show_bug.cgi?id=773681 We have to do polling here because the event notification API that Directsound exposes cannot be used with live playback since all events must be registered in advance with the capture buffer, you cannot add/remove them once playback has begun. Directsoundsrc had the same problem. See also: https://bugzilla.gnome.org/show_bug.cgi?id=781249
2017-05-08directsoundsink: Clean up some debug loggingNirbheek Chauhan1-14/+11
Don't need to print the function name, gstreamer does it for you. https://bugzilla.gnome.org/show_bug.cgi?id=773681
2017-05-06matroskademux: improve index memory usageTim-Philipp Müller1-1/+1
Re-arrange order of index entry struct members to avoid padding bytes in the middle of the struct, thus potentially reducing the overall size of the struct and reducing memory used by the index. On Linux x86_64 the size goes down from 32 bytes to 24 bytes for each index entry.
2017-05-04Back to developmentSebastian Dröge2-5/+5
2017-05-04Release 1.12.0Sebastian Dröge73-109/+963
2017-05-04Update .po filesSebastian Dröge42-655/+614
2017-05-04po: Update translationsSebastian Dröge1-573/+614
2017-05-02qtdemux: Fix crash on mss stream caused by invalid stsd entry accessSeungha Yang1-0/+9
Since mss has no moov, default stsd entry should be created with media-caps. https://bugzilla.gnome.org/show_bug.cgi?id=782042
2017-04-27Release 1.11.91Sebastian Dröge73-106/+533
2017-04-27Update .po filesSebastian Dröge42-804/+696
2017-04-27po: Update translationsSebastian Dröge3-574/+1118
2017-04-27qtdemux: Don't crash in debug output if stream==NULLSebastian Dröge1-1/+2
That case is correctly handled below but not in the debug output. https://bugzilla.gnome.org/show_bug.cgi?id=781270
2017-04-25qtdemux: Don't perform seeks with inconsistent seek valuesSebastian Dröge1-6/+13
If gst_segment_do_seek() fails, we shouldn't try seeking on that resulting segment but just error out. Crashes further down the line otherwise.
2017-04-24Automatic update of common submoduleTim-Philipp Müller1-0/+0
From 60aeef6 to 48a5d85
2017-04-24tests: rtp-payloading: add test for rtph264depay avc/byte-stream outputTim-Philipp Müller2-2/+173
Make sure avc output doesn't contain SPS/PPS inline, but byte-stream output does.
2017-04-24rtph264depay: don't insert SPS/PPS inline for AVC outputTim-Philipp Müller1-2/+3
SPS/PPS are in the caps in this case and shouldn't be in the stream data.
2017-04-21rtspsrc: Chain up to the parent class' provide_clock() implementationSebastian Dröge1-2/+2
If no clock was provided directly by rtspsrc. This behaviour was removed by f8013487c91a6ffc552a4b25aa1a70f0bd5377f8 and results in rtspsrc not providing the system clock via the rtpjitterbuffer. As a result, if another element like an audio sink, provides a clock, the pipeline would select that (when going to PAUSED/PLAYING again later). Audio clocks usually don't progress in PAUSED, and thus our live source won't be able to use the clock to produce data, making the sink never preroll and everything is stuck.
2017-04-21qtdemux: reset sample_description_id to defaultJürgen Sachs1-4/+7
Fixes stream where sample_description_id is specified in the tfhd https://bugzilla.gnome.org/show_bug.cgi?id=778337
2017-04-20splitmuxsink: Don't use an explicit name for requesting audio padsSebastian Dröge1-0/+2
... unless the muxer uses the same audio pad template name as splitmuxsink. We can't request a pad called "audio_0" on a muxer that wants pads to be "sink_%d".
2017-04-20flvdemux: remove duplicated segment initializationChangBok Chae1-1/+0
It's also done in gst_flv_demux_cleanup(). https://bugzilla.gnome.org/show_bug.cgi?id=779106
2017-04-20splitmuxsink: Correctly catch FLUSH events in probesXavier Claessens1-4/+8
https://bugzilla.gnome.org/show_bug.cgi?id=767498
2017-04-19Revert "rtpbin: pipeline gets an EOS when any rtpsources byes"Tim-Philipp Müller3-21/+17
This reverts commit eeea2a7fe88a17b15318d5b6ae6e190b2f777030. It breaks EOS in some sender pipelines, see https://bugzilla.gnome.org/show_bug.cgi?id=773218#c20
2017-04-17qtdemux: Reset adapter in more discontinuity casesEdward Hervey1-0/+2
In push mode we process as much as possible in the adapter. When we receive a DISCONT buffer which we can't match to an actual sample (based on the existing sample table) and there is still data remaining in the incoming adapter,there is one of two cases happening: 1) We are doing reverse playback, in which case we should flush out all pending data 2) We have leftover data from the previous incoming buffer... which we can't do anything about. For the second case, make sure we flush out the remaining data so that we can start parsing again from scratch. https://bugzilla.gnome.org/show_bug.cgi?id=781319
2017-04-17rtspsrc: Use GST_ELEMENT_ERROR_WITH_DETAILSEdward Hervey1-8/+15
Allows the application to know the exact status code that was returned by the server in a programmatic fashion. https://bugzilla.gnome.org/show_bug.cgi?id=781304
2017-04-16qtdemux: Fix leak on QtDemuxStreamStsdEntrySeungha Yang1-0/+1
Fix unit test failure https://bugzilla.gnome.org/show_bug.cgi?id=781362
2017-04-14qtmux: Fix timescale of timecode tracksSebastian Dröge3-21/+26
They should have ideally the same timescale of the video track, which we can't guarantee here as in theory timecode configuration and video framerate could be different. However we should set a correct timescale based on the framerate given in the timecode configuration, and not just use the framerate numerator.
2017-04-13qtdemux: Properly reset demuxer when all streams are EOSEdward Hervey1-5/+8
Make sure offset and neededbytes are properly resetted when all streams are EOS in push-mode. Avoids cases when some data might still be pushed by upstream (because it didn't yet see the resulting GST_FLOW_EOS yet) and qtdemux gets completely lost. https://bugzilla.gnome.org/show_bug.cgi?id=781266
2017-04-13souphttpsrc: Make more usage of error macroEdward Hervey1-23/+4
And make sure we actually use the provided soup_msg argument in the macro
2017-04-12meson: Print message when disabling taglib on MSVCNirbheek Chauhan1-1/+3
2017-04-12qtmux: Don't forget to update pad->last_bufEdward Hervey1-1/+1
buf is the current pad->last_buf value. If ever it gets copied/unreffed, we need to make sure to write back the new pointer to the last_buf variable. Fixes using wrong pointer values in the case of decrasing DTS value
2017-04-12tests: Add vp9enc to gitignoreEdward Hervey1-0/+1
2017-04-12qtdemux: fix: sample description index override in tfhd not evaluatedJürgen Sachs1-2/+5
https://bugzilla.gnome.org/show_bug.cgi?id=778337
2017-04-12qtdemux: Add out-of-bound checkEdward Hervey1-2/+10
Make sure we don't read invalid memory
2017-04-11qtdemux: move parsing of tkhd out of stsd entry loopThiago Santos1-18/+24
It needs only to be read once.
2017-04-11qtdemux: check for a different stsd entry before pushing a sampleThiago Santos1-8/+30
Before pushing a sample, check if there was a change in the current stsd entry. This patch also assumes that the first stsd entry is used as default for the first sample. It might cause an uneeded caps renegotiation when this isn't the case.
2017-04-11qtdemux: parse all stsd entriesThiago Santos1-1647/+1741
stsd can have multiple format entries, parse them all. This is required to play DVB DASH profile that uses multiple entries to identify the different available bitrates/options on dash streams The stream format-specific data is not stored into QtDemuxStreamStsdEntry
2017-04-11qtdemux: rework stsd sample entries accessThiago Santos1-80/+87
Instead of using the stsd as a base pointer, use the actual stsd entry as the stsd can have multiple entries. This is rarely used for file playback but is a possible profile with in DVB DASH specs. This still doesn't support stsd with multiple entries but makes it easier to do so.
2017-04-11qtdemux: get stsd child by index instead of typeThiago Santos1-19/+39
There might be multiple children with the same type
2017-04-11tests/check/rtprtx: add checks for rtprtxqueue's max-size-{time,packets} ↵George Kiagiadakis1-0/+82
properties https://bugzilla.gnome.org/show_bug.cgi?id=780867
2017-04-11rtprtxqueue: implement handling of the max-size-time propertyGeorge Kiagiadakis2-1/+68
https://bugzilla.gnome.org/show_bug.cgi?id=780867
2017-04-10Automatic update of common submoduleTim-Philipp Müller2-1/+1
From 39ac2f5 to 60aeef6
2017-04-10v4l2object: Copy timestamp when importing buffersTodor Tomov1-0/+6
This is needed for V4L2_OUTPUT interface, and is harmless of V4L2_CAPTURE interfaces. This will fix timestamp in cases like: v4l2src io-mode=dmabuf ! v4l2videoNenc output-io-mode=dmabuf-import ! ... Same apply for userptr. https://bugzilla.gnome.org/show_bug.cgi?id=781119
2017-04-10qtmux: Fix last_dts tracking for raw audio and similar formatsSebastian Dröge1-1/+1
Accumulate the durations directly and don't scale yet another time by the number of samples.
2017-04-09tests: fix leak in splitmux testVincent Penquerc'h1-0/+1
https://bugzilla.gnome.org/show_bug.cgi?id=781025
2017-04-09scaletempo: Scale GAP event timestamp and duration like for buffersLyon Wang1-0/+16
https://bugzilla.gnome.org/show_bug.cgi?id=781008
2017-04-07v4l2dec: Fix race when going from PAUSED to READYThibault Saunier2-25/+9
Running `gst-validate-launcher -t validate.file.playback.change_state_intensive.vorbis_vp8_1_webm` on odroid XU4 (s5p-mfc v4l2 driver) often leads to: ERROR:../subprojects/gst-plugins-good/sys/v4l2/gstv4l2videodec.c:215:gst_v4l2_video_dec_stop: assertion failed: (g_atomic_int_get (&self->processing) == FALSE) This happens when the following race happens: - T0: Main thread - T1: Upstream streaming thread - T2. v4l2dec processing thread) [The decoder is in PAUSED state] T0. The validate scenario runs `Executing (36/40) set-state: state=null repeat=40` T1- The decoder handles a frame T2- A decoded frame is push downstream T2- Downstream returns FLUSHING as it is already flushing changing state T2- The decoder stops its processing thread and sets `->processing = FALSE` T1- The decoder handles another frame T1- `->process` is FALSE so the decoder restarts its streaming thread T0- In v4l2dec-> stop the processing thread is stopped NOTE: At this point the processing thread loop never started. T0- assertion failed: (g_atomic_int_get (&self->processing) == FALSE) Here I am removing the whole ->processing logic to base it all on the GstTask state to avoid duplicating the knowledge. https://bugzilla.gnome.org/show_bug.cgi?id=778830
2017-04-07Release 1.11.90Sebastian Dröge73-135/+935