forked from GStreamer/gst-plugins-good
-
Notifications
You must be signed in to change notification settings - Fork 14
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Upgrade qmlglsink to 1.18.6 #3
Open
andrewvoznytsa
wants to merge
523
commits into
mavlink:qgroundcontrol
Choose a base branch
from
andrewvoznytsa:qgroundcontrol2
base: qgroundcontrol
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Upgrade qmlglsink to 1.18.6 #3
andrewvoznytsa
wants to merge
523
commits into
mavlink:qgroundcontrol
from
andrewvoznytsa:qgroundcontrol2
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Switch to plain basesrc for parent class
Fixed to 1920x1080 h264 regardless of caps.
Support caps negotiation for H.264 frame size and framerate. Add bitrate, saturation, brightness, contrast, sharpness properties.
Add properties for controlling various parts of the capture
Merge all changes for new features from upstream raspberrypi userland, up to commit 0de0b2
Allow birate=0 and implement the quantisation-parameter property Fixes thaytan/gst-rpicamsrc#21
…spacing to -1 (auto) This plus other recent commits mostly fix bug thaytan/gst-rpicamsrc#16
This ensures the encoder is created with the profile negotiated with downstream
Don't apply timestamps based on output time from the encoder, but use the MMAL STC and capture PTS to generate a GStreamer timestamp that more accurately resembles the input (and would preserve reordering should the encoder ever add B-frames). Fixes thaytan/gst-rpicamsrc#16
Current to b69f807ce59189457662c2144a8e7e12dc776988 No integration of stereoscopic support as yet
On Windows with MSVC, jpeg_header_size would end up 2 bytes larger than it should be. This then leads to the first 2 bytes of the actual jpeg image data to be dropped, because we think those belong to the header, which results in an undecodable image when reconstructed in the depayloader. What happens is that when the compiler evaluates jpeg_header_size = mem.offset + read_u16_and_inc_offset_by_2(&mem); it actually uses the mem.offset value after it has been increased by the function call on the right hand size of the equation. From section 6.5 of the C99 spec: 3. The grouping of operators and operands is indicated by the syntax [74]. Except as specified later (for the function-call (), &&, ||, ?:, and comma operators), the order of evaluation of subexpressions and the order in which side effects take place are both unspecified. Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/889 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1003>
The only other place where these queued buffers are removed, is in setCaps() but that is not called at all on shutdown so this list of buffers could not be removed. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1005>
… QML We don't know exactly when QML will stop using them but it should be safe to unref them after at least 2 more buffers were bound. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1009>
SO_SNDBUF has been undefined on Windows because of missing WinSock2.h include. And don't use native socket functions (e.g., setsockopt()) if code is expected to be built on Windows. We don't link ws2_32.lib for this plugin. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1026>
They're based on per-stream information and that should be reset whenever going to READY state. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1027>
… identity` if no compression should be used Some servers respond with gzip-encoded responses regardless of whether the request allowed it to be used in the response. By always having the content decoder enabled, these invalid responses can be decoded correctly while for well-behaving servers the `compress` property selects between allowing compressed responses or not. Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/833 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1054>
Updating of codec_data in the caps is important to propagate changes in sps/pps/vps via NALs. Without this, downstream does not renegotiate when upstream changes resolution. The comment referring to rtph264pay is from 2015 and is out of date. rtph264pay stopped doing that in 2017 with commit dabeed5 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1025>
… variants e.g. when exporting an opaque image, yet with alpha channel. Apple ProRes certification requires that, when a ProRes-writing application *knows* that the entire frame is opaque, the application writes only RGB without alpha even when the clip is RGBA. For that, this tiny change allows the app to override pixel depth when writing ProRes. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1062>
Might be 24bpp in case an alpha channel is coded but the image is always opaque. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1062>
When re-using streams, we *do* need to push a `stream-start` event downstream if we previously were EOS'd. Failure to do that would never remove the EOS status on all downstream elements and cause weird issues. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1068>
…c_data This works around some AVI files storing byte-stream data in the codec_data. The previous workaround was only checking for 0x00000001 (4 bytes) instead of 0x000001 (3 bytes). Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1073>
Seek events are sent upstream on each sink, so if we receive multiple seeks with the same seqnum, we must only perform one seek, not N seeks where N = the number of sinks in the pipeline connected to rtspsrc. This is the same thing done by demuxers like qtdemux or matrsokademux. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1075>
Assignments copy by value, we don't need to memcpy... Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1076>
This breaks the duration query and also the seeking query. Broke in 5f1a732 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1076>
stop is not used after this point, nor do we create a new segment here since 84725d6 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1076>
… aligned In case of interlaced JPEG file, we are doubling stride. The scratch scan line should take account of it as well. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1042>
AAC codec_data is a just collection of AAC profile, samplerate, and channels. We can know samplerate and channels from parsed SampleEntry data. Although the AAC profile is unknown there, let's assume it as AAC-LC like we've been doing for the version 1 atom. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1100>
Previously only demuxing when stored via the RIFF/AVI mapping was supported. See https://github.com/FFmpeg/FFV1/blob/master/ffv1.md#matroska-file-format Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/923 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1101>
need apply video alignment info on video meta, downstream element can get buffer alignment from video meta Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1106>
If padded height is greater, buffer bytesused could be larger than plane length, and cause VIDIOC_QBUF failure. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1107>
In libshout >=2.4.2 shout_open() can return SHOUTERR_RETRY in addition to SHOUTERR_BUSY. The nonblocking example in libshout fixes the problem in a similar way, as mentioned by the author in this issue: https://gitlab.xiph.org/xiph/icecast-libshout/-/issues/2316 Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/848 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1108>
since `gst_caps_replace()` and `gst_pad_set_caps()` both ref the caps and neither of them takes the ownership of the caps -> it must be unreffed in `gst_multi_file_src_set_property()` to test the leak (on Unix): `echo coucou > /tmp/file.txt && GST_TRACERS=leaks GST_DEBUG="GST_TRACER:7" gst-launch-1.0 multifilesrc location=/tmp/file.txt caps='txt' ! fakesink` Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1109>
The "cause" field wasn't registered as a GEnumValue, so do that. Fixes this critical in gst_structure_to_string(): `gst_value_serialize: assertion 'G_IS_VALUE (value)' failed` Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1111>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR upgrades to qmlglsink to 1.18.6 in qgroundcontrol branch, keeping qgcroundcontrol's changes on top of it (technically to latest available commit in the official repo).
I suggest to pull qgroundcontrol2 branch from my repo and push it into mavlink/gst-plugins-good as is, instead of merging.