- 03 Jan, 2019 2 commits
-
-
Benjamin Berg authored
In WFD almost all rates default to 48kHz. So, to avoid re-sampling, set the rate on the sink to 48kHz.
-
Benjamin Berg authored
For now this adds a ScreencastPulseaudio class which creates a gnome_screencast NULL sink and allows gettign a pipewire source for the monitor source. The NULL sink is currently not destroyed on shutdown, however, we do make sure to only ever create one of them.
-
- 20 Dec, 2018 3 commits
-
-
Benjamin Berg authored
Many devices can request IDR frames if they need them. In that case, we don't need to insert as many IDR frames into the stream, so increase the GOP size for the encoder.
-
Benjamin Berg authored
-
Benjamin Berg authored
This means we do not assume it is an IDR request anymore.
-
- 19 Dec, 2018 6 commits
-
-
Benjamin Berg authored
Just force max_slice_num to 1 in that case.
-
Benjamin Berg authored
The wrong table was used for the length.
-
Benjamin Berg authored
This changes a few parameters. The only change in here that actually fixes things in this case is forcing the slice count to be 1. There is actually another underlying bug (will be fixed in following commits) that caused a too high slice count to be set. However, it doesn't hurt much to be on the safe side.
-
Benjamin Berg authored
We can do better, but relying on the native resolution doesn't really work, and picking the highest resolution is also wrong. If we actually decode the EDID, then we could pick the best resolution that works for the monitor in question.
-
Benjamin Berg authored
This is a basic implementation to inject IDR frames. Note that it currently assumes that any SET_PARAMS request is actually an IDR request.
-
Benjamin Berg authored
If the casting source asks for an IDR frame, then replying with an error is a bad idea. Instead, just always return OK.
-
- 16 Dec, 2018 1 commit
-
-
- 08 Dec, 2018 1 commit
-
-
Benjamin Berg authored
With this gnome-screencast will fall back to trying to use a simple ximagesrc rather than the portal if the portal API is missing.
-
- 07 Dec, 2018 1 commit
-
-
Benjamin Berg authored
The WFD sink did not store the source ID and both sinks did not detect an attachment failure correctly.
-
- 06 Dec, 2018 1 commit
-
-
Benjamin Berg authored
It is not a good idea to continously run the P2P find operation as it requires changing channels on the card and could have major impacts on wifi performance. So turn discovery off as soon as the sink list is not visible.
-
- 04 Dec, 2018 7 commits
-
-
Benjamin Berg authored
-
Benjamin Berg authored
-
Benjamin Berg authored
Querying the SDP has no use and is not even possible at that point in the process.
-
Benjamin Berg authored
The default is not to suspend the pipeline. However, as we are live-streaming, there is no point in letting the pipeline run, just reset it.
-
Benjamin Berg authored
Some of the getters return references, others don't. Fix the various cases so we don't leak any objects.
-
Benjamin Berg authored
-
Benjamin Berg authored
This simplifies the interlacer a bit and decouples everything before the encoder to run in a separate thread.
-
- 03 Dec, 2018 3 commits
-
-
Benjamin Berg authored
Unfortunately, it seems that sometimes the pipeline stays alive when cancelling.
-
Benjamin Berg authored
-
Benjamin Berg authored
The g_object_set calls were setting 64bit integers but passing 32bit integers, causing issues. Also, the intervideosink would drop buffers which were late by 20ms, causing most buffers to be dropped straight away.
-
- 01 Dec, 2018 1 commit
-
-
Benjamin Berg authored
This fixes the VESA table lookup and also crashes if a resolution is not available.
-
- 30 Nov, 2018 13 commits
-
-
Benjamin Berg authored
-
Benjamin Berg authored
If the user does not have a mutter with remote desktop enabled, then it may be viable to use an X11 image source instead. This is a compile time option only though, as we generally want to rely on the remote desktop protocol and possibly portal in the future. Adding this makes it possible to try on machines that don't have support in mutter (e.g. ubuntu).
-
Benjamin Berg authored
This makes it easier to test using e.g. VLC or totem.
-
Benjamin Berg authored
This puts everything into one pipeline while still using the intervideosink/intervideosrc.
-
Benjamin Berg authored
-
Benjamin Berg authored
With this one can testing streaming to e.g. VLC to check how well that works.
-
Benjamin Berg authored
-
Benjamin Berg authored
-
Benjamin Berg authored
The correct status enum state was not returned and the stream_sink routine should return a reference to itself.
-
Benjamin Berg authored
Othwerise free'ed memory might be accessed.
-
Benjamin Berg authored
-
Benjamin Berg authored
GByteArray needs to be freed using the g_byte_array_unref method which also frees the segment when used in g_clear_pointer.
-
Benjamin Berg authored
This enables detection for x264enc and switches to uses that when available.
-
- 29 Nov, 2018 1 commit
-
-
Benjamin Berg authored
-