<feed xmlns='http://www.w3.org/2005/Atom'>
<title>dino-but-good/plugins/rtp/src, branch master</title>
<subtitle>my fork of dino with basic QoL changes, not very maintained
</subtitle>
<id>https://git.bwaaa.space/dino-but-good/atom?h=master</id>
<link rel='self' href='https://git.bwaaa.space/dino-but-good/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.bwaaa.space/dino-but-good/'/>
<updated>2026-10-23T14:59:59Z</updated>
<entry>
<title>Move OMEMO, OpenPGP and RTP plugins into main/libdino</title>
<updated>2026-10-23T14:59:59Z</updated>
<author>
<name>Marvin W</name>
<email>git@larma.de</email>
</author>
<published>2026-10-04T12:42:16Z</published>
<link rel='alternate' type='text/html' href='https://git.bwaaa.space/dino-but-good/commit/?id=dba577f39c489b9db29960f2bf5cc78ac4f29d7b'/>
<id>urn:sha1:dba577f39c489b9db29960f2bf5cc78ac4f29d7b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Drop supported for outdated dependency versions</title>
<updated>2026-10-23T14:59:59Z</updated>
<author>
<name>Marvin W</name>
<email>git@larma.de</email>
</author>
<published>2026-10-03T14:05:51Z</published>
<link rel='alternate' type='text/html' href='https://git.bwaaa.space/dino-but-good/commit/?id=2413442905e31f34cb0f77c9167003b3725760fe'/>
<id>urn:sha1:2413442905e31f34cb0f77c9167003b3725760fe</id>
<content type='text'>
</content>
</entry>
<entry>
<title>rtp: device: Ensure even heights for rescaled streams</title>
<updated>2025-11-15T14:55:43Z</updated>
<author>
<name>Robert Mader</name>
<email>robert.mader@collabora.com</email>
</author>
<published>2025-10-12T18:54:18Z</published>
<link rel='alternate' type='text/html' href='https://git.bwaaa.space/dino-but-good/commit/?id=afcc2f4037bcb7b63c04ce12600ccfd360e75719'/>
<id>urn:sha1:afcc2f4037bcb7b63c04ce12600ccfd360e75719</id>
<content type='text'>
Odd heights, while generally handled by Gstreamer, can cause issues in
various places - most importantly hardware video en-/decoders and
GL/VK drivers - as in most cases 2x0 or 2x2 subsampled intermediate
pixel formats are used (such as I420, YUYV, NV12 etc.).

Thus ensure we always end up with an even height.
</content>
</entry>
<entry>
<title>rtp: device: Tweak common_widths for 16:9 ratio</title>
<updated>2025-11-15T14:55:43Z</updated>
<author>
<name>Robert Mader</name>
<email>robert.mader@collabora.com</email>
</author>
<published>2025-10-12T21:26:40Z</published>
<link rel='alternate' type='text/html' href='https://git.bwaaa.space/dino-but-good/commit/?id=bdb7e39ab5077de6ea21eb3925b8ae6ffa0f5009'/>
<id>urn:sha1:bdb7e39ab5077de6ea21eb3925b8ae6ffa0f5009</id>
<content type='text'>
Most used widths can be devided by 4*3 as well as 16*9, resulting in
heights being multiples of two. There are two exceptions, though:
360 (/16*9=202.5) and 400 (/16*9=225).

Odd heights, while generally handled by Gstreamer, can cause issues in
various places - most importantly hardware video en-/decoders and
GL/VK drivers - as in most cases 2x0 or 2x2 subsampled intermediate
pixel formats are used (such as I420, YUYV, NV12 etc.).

Thus tweak the widths in question so they can be cleanly devided 16*9
and 4*3 with even results, as these are the most common ratios for
cameras.
</content>
</entry>
<entry>
<title>device: Request 30 fps in absence of framerate negotiation</title>
<updated>2025-10-06T19:23:44Z</updated>
<author>
<name>Robert Mader</name>
<email>robert.mader@collabora.com</email>
</author>
<published>2025-09-19T09:54:33Z</published>
<link rel='alternate' type='text/html' href='https://git.bwaaa.space/dino-but-good/commit/?id=a8bcc14ce47032df3c5baf25af18c4005567e663'/>
<id>urn:sha1:a8bcc14ce47032df3c5baf25af18c4005567e663</id>
<content type='text'>
Sources not capable of negotiating framerates, most notably the
libcamera Pipewire plugin, might still be able to honor a value
requested and otherwise usually just ignore it.

Thus setting a value that we can reasonably assume to be supported has
several benefits:
1. It potentially prevents the source from producing much higher fps than
   useful for the usecase, causing resource waste.
2. It decreases the chances of running into fallback code paths which
   are often badly optimized performance-wise. One example is that
   currently the implicitly set framerate values cause regular
   renegotiations (including buffer re-allocations) in pipewiresrc.
   Another is the internal get_target_bitrate(), currently returning
   uint.MAX.
3. If the source can only produce e.g. 15 fps, that's usually handled
   without major issues.

Thus follow the example of Snapshot, which has been doing this for a
while and gets more testing with libcamera, and set framerate to 30/1.
</content>
</entry>
<entry>
<title>device: Target resolution of 720p on libcamera devices</title>
<updated>2025-10-06T19:23:22Z</updated>
<author>
<name>Robert Mader</name>
<email>robert.mader@collabora.com</email>
</author>
<published>2025-07-20T03:32:12Z</published>
<link rel='alternate' type='text/html' href='https://git.bwaaa.space/dino-but-good/commit/?id=518b40f3af7090405ec5ab141feeecf42183aa8a'/>
<id>urn:sha1:518b40f3af7090405ec5ab141feeecf42183aa8a</id>
<content type='text'>
Most cameras needing the fallback path are provided by libcamera,
which does not yet provide framerates. At the same time many such
cameras support very high resolutions - often in the 4K category -
and are paired with rather weak CPUs. Examples for this are popular
mobile phones such as the PinePhone Pro or the OnePlus6.

In order to archive a somewhat stable FPS count in such scenarios,
target a resolution of 720p as a compromise of quality and
performance.
</content>
</entry>
<entry>
<title>Only support SystemMemory caps for video</title>
<updated>2025-10-06T19:22:58Z</updated>
<author>
<name>Robert Mader</name>
<email>robert.mader@collabora.com</email>
</author>
<published>2025-07-20T01:50:45Z</published>
<link rel='alternate' type='text/html' href='https://git.bwaaa.space/dino-but-good/commit/?id=e801d44b8472bf72ac04ed1c8faf6bd856f25def'/>
<id>urn:sha1:e801d44b8472bf72ac04ed1c8faf6bd856f25def</id>
<content type='text'>
An increasing number of video device providers, such as `pipewiresrc`
(in the upcoming 1.6 release) and `v4l2src` (since Gst 1.26), support
`memory:DMABuf` caps using the special `DMA_DRM` caps. This is not
expected and handled properly, thus filter out any non-default features.
</content>
</entry>
<entry>
<title>Voice processor: add back call to set stream delay</title>
<updated>2025-05-23T21:08:28Z</updated>
<author>
<name>Jacques Comeaux</name>
<email>jacquesrcomeaux@protonmail.com</email>
</author>
<published>2025-04-19T17:44:15Z</published>
<link rel='alternate' type='text/html' href='https://git.bwaaa.space/dino-but-good/commit/?id=715b874801201390eb5ffe440acc4af171a9ddaa'/>
<id>urn:sha1:715b874801201390eb5ffe440acc4af171a9ddaa</id>
<content type='text'>
</content>
</entry>
<entry>
<title>RTP: Tear down most of GStreamer while not in a call.</title>
<updated>2025-04-09T18:05:13Z</updated>
<author>
<name>Marvin W</name>
<email>git@larma.de</email>
</author>
<published>2025-04-09T18:02:55Z</published>
<link rel='alternate' type='text/html' href='https://git.bwaaa.space/dino-but-good/commit/?id=50eeb2f16dfa4342d50086404da068f5426cbe3c'/>
<id>urn:sha1:50eeb2f16dfa4342d50086404da068f5426cbe3c</id>
<content type='text'>
This includes #1679 and works around an upstream bug in pipewire causing #1685
</content>
</entry>
<entry>
<title>Show call button regardless of contact online status</title>
<updated>2025-04-08T10:15:12Z</updated>
<author>
<name>fiaxh</name>
<email>git@lightrise.org</email>
</author>
<published>2025-04-08T10:15:12Z</published>
<link rel='alternate' type='text/html' href='https://git.bwaaa.space/dino-but-good/commit/?id=a21800860e00d4078fa2b339bc16087ea1f22bbc'/>
<id>urn:sha1:a21800860e00d4078fa2b339bc16087ea1f22bbc</id>
<content type='text'>
</content>
</entry>
</feed>
