- 13 Oct, 2018 14 commits
-
-
Nicolas Dufresne authored
Otherwise we may endup pushing incomplete caps. This patch isn't ready yet, as it will merge PPS/SPS/VPS in the same GstBuffer. This is valid as per current definition of alignment=nal, but is also a behaviour change. It's also weird, since it only merge these for the first set.
-
Nicolas Dufresne authored
As we no longer accumulate 2 NALs before producing any data, we may endup with the case where we have completly parsed the frame data and then get called on handle_frame(). This was triggering the assertion current_off < size, as the current offset was equal to the size. Handle this just like we'd do in other case, like broken NAL etc.
-
Nicolas Dufresne authored
Per specification in 2.14.2 "For PES packetization, no specific data alignment constraints apply". So we should probably not advertise NAL alignment. Note that more investigation is needed, it's possible that there is a minimal parser to try and align and this is is just buggy.
-
Nicolas Dufresne authored
There is some code to fixup broken stream that uses the SEI location, this code is meant to locate SUFFIX SEI only. This should prevent unwanted side effect if SUFFIX SEI is used.
-
Nicolas Dufresne authored
This add a feature that existed in h264parse already, which is the insertion of AUD NAL whenever these are missing. This simplify the detection of frame start and also allow producing valid MPEG TS files.
-
Nicolas Dufresne authored
We no longer add latency when doing AU->AU, AU->NAL and NAL->NAL parsing.
-
Nicolas Dufresne authored
-
Nicolas Dufresne authored
Waiting for the next NAL increases the latency. If alignment=nal/au has been negotiated, assumes the the buffer contains a complete NAL and don't except a second start-code. This way, nal -> nal, au -> au and au -> nal no longer introduce latency. As a side effect, the collect_pad() function was not able to poke at the following NAL. This call is now moved before processing the NAL, so it's looking at the current NAL before it's ingested into the parser state in order to dermin if the end of an AU has been reached. The AUD injection state as been adapted to support this.
-
Nicolas Dufresne authored
When we inject a NAL in the bitstream before another one, make sure to pass both DTS and PTS. Also make sure to transfer the DISCONT flag properly.
-
Nicolas Dufresne authored
We no longer add latency when doing AU->AU, AU->NAL and NAL->NAL parsing.
-
Nicolas Dufresne authored
-
Nicolas Dufresne authored
Waiting for the next NAL increases the latency. If alignment=nal/au has been negotiated, assumes the the buffer contains a complete NAL and don't except a second start-code. This way, nal -> nal, au -> au and au -> nal no longer introduce latency. As a side effect, the collect_pad() function was not able to poke at the following NAL. This call is now moved before processing the NAL, so it's looking at the current NAL before it's ingested into the parser state in order to dermin if the end of an AU has been reached. The AUD injection state as been adapted to support this.
-
Nicolas Dufresne authored
When we inject a NAL in the bitstream before another one, make sure to pass both DTS and PTS. Also make sure to transfer the DISCONT flag properly.
-
Nicolas Dufresne authored
upstream was set to *out_ts, setting *out_ts to upstream here will have no effect.
-
- 10 Oct, 2018 8 commits
-
-
Expanded to support image format to YV12/I422/I444. It's related to the color bit-depth and profile of the codec. It can make configuring appropriate profile according to bit-depth and format. https://bugzilla.gnome.org/show_bug.cgi?id=791674
-
AOM_FRAME_IS_INVISIBLE is unused and remove in aom_encoder.h https://aomedia-review.googlesource.com/c/aom/+/70421 https://bugzilla.gnome.org/show_bug.cgi?id=791674
-
Added rate control and profile related configuration. The profile configuration has been copied from vpx. https://bugzilla.gnome.org/show_bug.cgi?id=791674
-
This fixes the remaining race condition with the fd by delaying the removal until last pipe ref. Unexpected critical/warning: gst_poll_fd_has_error: assertion 'fd->fd >= 0' failed Stack trace: gst_debug_get_stack_trace (gstinfo.c:2788) gst_check_log_critical_func (gstcheck.c:281) g_logv (/lib/x86_64-linux-gnu/libglib-2.0.so.0.4800.2:0x7fdd4efa0a40) g_log (/lib/x86_64-linux-gnu/libglib-2.0.so.0.4800.2:0x7fdd4efa0c6b) gst_poll_fd_has_error (gstpoll.c:1217) gst_shm_src_create (gstshmsrc.c:364) gst_push_src_create (gstpushsrc.c:131) gst_base_src_get_range (gstbasesrc.c:2521) gst_base_src_loop (gstbasesrc.c:2845) gst_task_func (gsttask.c:328) default_func (gsttaskpool.c:69) https://bugzilla.gnome.org/show_bug.cgi?id=797203
-
There's a race condition when is-live is set to true and the shmsrc element releases the pipe in the transition from PLAYING to PAUSED. To avoid it this change ensures that _create method takes the pipe and increases the use_count in one operation protected by object lock. Also perform apropriate protections when releasing the pipe. https://bugzilla.gnome.org/show_bug.cgi?id=797203
-
Add a unit test to exchange data between two pipelines with shmsrc acting as a live source. https://bugzilla.gnome.org/show_bug.cgi?id=797203
-
Olivier Crête authored
-
- 08 Oct, 2018 4 commits
-
-
-
Matthew Waters authored
With prenegotiated channels, the data-channel protocol is not used and instead the channel's negotiation is intended to be performed out of band in some application-specific manner. Comes with test!
-
Matthew Waters authored
This means that we will reject all operations before we've transitioned into READY. This also fixes the tests using the default GMainContext in the NULL state instead of the webrtcbin internal GMainContext and thread. Also removes a potential ordering race where on the element transitioning to READY, an operations could have been queued on two different threads and removing a guarentee on operation ordering.
-
Aleix Conchillo Flaqué authored
It might be possible that if we set webrtcbin to the NULL state some tasks (idle sources) are still executed and they might even freeze. The freeze is caused because the webrtcbin tasks don't hold a reference to webrtcbin and if it's last unref inside the idle source itself this will not allow the main loop to finish because the main loop is waiting on the idle source to finish. We now start and stop webrtcbin thread when changing states. This will allow the idle sources to finish properly. https://bugzilla.gnome.org/show_bug.cgi?id=797251
-
- 04 Oct, 2018 4 commits
-
-
Matthew Waters authored
Alpha in GStreamer is unpremultiplied
-
Vivia Nikolaidou authored
If the first audio buffer to be dropped started right between two video buffers (after the end of the first but before the start of the second, as is often the case with N/1001 video frame rates), we would miss sending the dropping=true message. https://bugzilla.gnome.org/show_bug.cgi?id=797248
-
Matthew Waters authored
Without the sctp elements, all the data channel tests will fail
-
Matthew Waters authored
Flattens the overlay compositions into the stream before the mixer will mix them. https://bugzilla.gnome.org/show_bug.cgi?id=759867
-
- 03 Oct, 2018 1 commit
-
-
Sebastian Dröge authored
-
- 01 Oct, 2018 2 commits
-
-
Seungha Yang authored
And add missing #ifdef _WIN32 for MSVC build https://bugzilla.gnome.org/show_bug.cgi?id=797211
-
Seungha Yang authored
gst-plugins-bad\sys\msdk\meson.build:57:4: ERROR: File msdk-enum.c does not exist. https://bugzilla.gnome.org/show_bug.cgi?id=797211
-
- 27 Sep, 2018 1 commit
-
-
Mathieu Duponchelle authored
tsdemux expects a custom descriptor (GST_MTS_DESC_AC3_AUDIO_STREAM) to detect a stream as AC3 and not EAC3. Note that tsdemux expects this descriptor because mpegtsmux writes a stream with a HDMV registration descriptor. Fixes: gst-launch-1.0 -v audiotestsrc ! avenc_ac3 ! ac3parse ! mpegtsmux ! \ tsdemux ! ac3parse ! avdec_ac3 ! audioconvert ! autoaudiosink https://bugzilla.gnome.org/show_bug.cgi?id=797220
-
- 26 Sep, 2018 1 commit
-
-
Matthew Waters authored
-
- 24 Sep, 2018 4 commits
-
-
Sebastian Dröge authored
Also update the property description and range with aggregator's values.
-
Tim-Philipp Müller authored
-
Tim-Philipp Müller authored
For each lib we build export its own API in headers when we're building it, otherwise import the API from the headers. This fixes linker warnings on Windows when building with MSVC. The problem was that we had defined all GST_*_API decorators unconditionally to GST_EXPORT. This was intentional and only supposed to be temporary, but caused linker warnings because we tell the linker that we want to export all symbols even those from externall DLLs, and when the linker notices that they were in external DLLS and not present locally it warns. What we need to do when building each library is: export the library's own symbols and import all other symbols. To this end we define e.g. BUILDING_GST_FOO and then we define the GST_FOO_API decorator either to export or to import symbols depending on whether BUILDING_GST_FOO is set or not. That way external users of each library API automatically get the import. While we're at it, add new GST_API_EXPORT in config.h and use that for GST_*_API decorators instead of GST_EXPORT. The right export define depends on the toolchain and whether we're using -fvisibility=hidden or not, so it's better to set it to the right thing directly than hard-coding a compiler whitelist in the public header. We put the export define into config.h instead of passing it via the command line to the compiler because it might contain spaces and brackets and in the autotools scenario we'd have to pass that through multiple layers of plumbing and Makefile/shell escaping and we're just not going to be *that* lucky. The export define is only used if we're compiling our lib, not by external users of the lib headers, so it's not a problem to put it into config.h Also, this means all .c files of libs need to include config.h to get the export marker defined, so fix up a few that didn't include config.h. This commit depends on a common submodule commit that makes gst-glib-gen.mak add an #include "config.h" to generated enum/marshal .c files for the autotools build. https://bugzilla.gnome.org/show_bug.cgi?id=797185
-
Tim-Philipp Müller authored
-
- 22 Sep, 2018 1 commit
-
-
Tim-Philipp Müller authored
and fix up autotools definition now that it's not conditional any more.
-