- Dec 18, 2018
-
-
Nicolas Dufresne authored
-
Nicolas Dufresne authored
This will be needed to implement draining on EOS.
-
Nicolas Dufresne authored
This macro is not longer used. It was secretly checking if that nal was a slice, and confusingly name to that one may think it was checking if the nal is an AUD.
-
Nicolas Dufresne authored
The code was reading the timestamp from the adapter before pushing the new buffer into it. As a side effect, if the adapter was empty, we'd end up using an older timestamp. In alignment=au, it means that all timestamp was likely one frame in the past, while in alignment=nal, with multiple slices per frame, the first slice would have the timestamp of the previous one.
-
Nicolas Dufresne authored
We have a buffer flag to represent the marker bit (when present). Forward this bit by setting the buffer flag accordingly.
-
Nicolas Dufresne authored
The marker bit is used for efficient decoding. The assumption that it should be set on the AUD is wrong, since the AUD is conceptually starts the frame, while the marker is to indicate the end. So properly set the marker bit as soon as we know we are ending an AU and also whenever upstream have set the GST_BUFFER_FLAG_MARKER flag.
-
Nicolas Dufresne authored
The code was reading the timestamp from the adapter before pushing the new buffer into it. As a side effect, if the adapter was empty, we'd end up using an older timestamp. In alignment=au, it means that all timestamp was likely one frame in the past, while in alignment=nal, with multiple slices per frame, the first slice would have the timestamp of the previous one.
-
Nicolas Dufresne authored
The marker bit is used for efficient decoding. The assumption that it should be set on the AUD is wrong, since the AUD is conceptually starts the frame, while the marker is to indicate the end. So properly set the marker bit as soon as we know we are ending an AU and also whenever upstream have set the GST_BUFFER_FLAG_MARKER flag.
-
Nicolas Dufresne authored
We have a buffer flag to represent the marker bit (when present). Forward this bit by setting the buffer flag accordingly.
-
Nicolas Dufresne authored
Don't allow external encoder to use one of the reserved NAL type implicated in NAL aggreation. These out-of-spec NAL types, if passed from the outside world will lead to an invalid RTP payload being created.
-
Seungha Yang authored
Allow run some unit tests on Windows. * Remove hardcoded path separator in whitelist env for Meson to choose OS-specific separator automatically (i.e., ';' for windows and ':' for *nix) * Add dependency explicitly for some test cases, otherwise plugins couldn't be loaded on uninstalled environment of Windows.
-
Seungha Yang authored
... to avoid mixing '/' and '\' in a path string on Windows.
-
gstreamer!55 makes some changes to how the `error-after` counter works which breaks this test. This change makes the test not rely on the ability to alter `error-after` at runtime and explicitly stops and starts the harness before pushing data. An alternative would be to add another argument to `harness_rtpulpfecdec` to set `error-after` on construction but that's slightly more long-winded. so I went for this approach instead. Fixes #532, even though that's already closed.
-
The initial mission statement for this test was: * demonstrate usage of the request-aux-* signals in rtpbin * test the rtx elements We have examples that serve the first use case, and better (harnessed) tests for the second use case. This test is slow and racy, it served its purpose but can now be removed. Fixes #533
-
- Dec 17, 2018
-
-
Nicola Murino authored
If the pipeline consumes the data slower than the available network speed, for example because sync=true, is useless to increase the blocksize and reading in too big blocksizes can cause the connection to time out Closes #463
-
The function gst_v4l2_object_add_interlace_mode() has repeating code so it's best use a loop instead. That will make it easy and simple to add additional interlace modes in a following patch.
-
Instead of a custom map to translate the interlace modes to strings, let's make use of the base API provided.
-
Nicola Murino authored
kAudioFormatFlagIsSignedInteger is a format flags Closes #394
-
In 2018 khronos changed the gl header guards. If we don't detect this properly we would end up with plenty of symbol redifinition (since we would be importing twice the "same" header). Instead detect if the "newer" header was already included and if so define the "old" define to avoid this situation Fixes #523
-
- Dec 15, 2018
-
-
For the demuxer we have to select line offset 0 for the time being as this information is not passed over MOV.
-
- Dec 14, 2018
-
-
-
When the EOS event is received, run all timers immediately and avoid pushing the EOS downstream before this has been run. This ensures that the lost packet statistics are accurate.
-
The teardown of the pads checks the refcount, but there are timers inside the jitterbuffer that can push things, so if we're not lucky, things could be pushed while the pads are being shut down. Putting the jitterbuffer to NULL first avoids this.
-
After EOS is received, it is pointless to wait for further events, specially waiting on timers. This patches fixes two cases where we could wait instead of returning GST_FLOW_EOS and trigger a spin of the loop function when EOS is queued, regardless if this EOS is the queue head or not.
-
-
If the decoder signals metadata change we need to update the output format and negotiate with downstream elements.
-
Any call to set_format() could mean that the stream type changed so we reset the decoder and mark got_headers FALSE.
-
Draining the parser is not enough here, on caps change we need to reset it so it is ready to accept new caps.
-
If the inlined caps change while using the same CV we need to update the source pad caps.
-
Justin Kim authored
Otherwise, it fails to link. gst-build#13
-
- Dec 07, 2018
-
-
Pull in video frame fields into local variables. Without this the compiler must assume that they could've changed on every use and read them from memory again. This reduces the inner loop from 6 memory reads per pixels to 4, and the number of writes stays at 3.
-
- Dec 06, 2018
-
-
Using the same calculation used for video streams.
-
-
- Dec 05, 2018
-
-
Thibault Saunier authored
From ed78bee to 59cb678
-
- Dec 04, 2018
-
-
Maciej Wolny authored
This causes 'redefinition of typedef ...' errors on GCC 4.5.3
-
- Nov 30, 2018
-
-
Tim-Philipp Müller authored
-
stream.segment should be updated with the values of the current edit list, also when a new `moov` is received. Unfortunately this was not being the case because of an early return. As a consequence of this bugs, no end of movie clipping was being performed on the new moov and no segment event was being emitted. When performing stream switching (e.g. in MSE) the new moov may have a different edit list. This is often the case when switching between baseline H.264 (which lacks B-frames) and more demanding profiles. For this reason it's important to emit a new segment in order to be able to get matching stream times.
-
This patch moves the initialization of QtDemuxStream.segment from gst_qtdemux_add_stream() to _create_stream(). This ensures the segment is always initialized when the stream is created. Otherwise the segment format is left as GST_FORMAT_UNDEFINED in the case were a track is reparsed and qtdemux_reuse_and_configure_stream() is called instead of gst_qtdemux_add_stream(). (See qtdemux_expose_streams() in the non streams-aware case.)
-
- Consider GST_CLOCK_TIME_NONE as not to be used. - Complete "rtcp-feedback-retention-window" property getter/setter implementation.
-
Closes #522
-