[RFC] Screen share window/monitor selection

David Woodhouse dwmw2 at infradead.org
Mon Apr 23 11:20:46 EDT 2018


On Fri, 2018-04-20 at 16:34 +0100, David Woodhouse wrote:
> This adds a method to PurpleRequestUiOps to request a
> PurpleMediaElementInfo as a source for screen sharing.
> 
> The UI interacts with the user to select the window/monitor to be
> shared, and the UI is responsible for providing the appropriate
> GStreamer element.
> 
> The Pidgin side needs finishing — currently I'm using videotestsrc and
> a nasty hack to test with ximagesrc, but actually I think I'm going to
> end up with an appsrc which is fed with frames by
> gdk_pixbuf_get_from_window() or something like that. Done properly,
> that will work on Windows too.
> 
> For now I'm soliciting feedback on the basic approach and the libpurple
> side of things.
> 
> This works on top of my patch in PR#322 which allows the PRPL to
> specify a PurpleMediaElementInfo to use instead of the default for the
> media type, by using g_object_set_data(media, "src-element", info)
> before adding streams.

Now it actually works on the UI side too. I can select a monitor or a
specific window to be shared. There is some X-specific magic here to
identify a window by its xid; Windows support is blocked on the fact
that there isn't a GStreamer source element equivalent to ximagesrc.
You *can* share a videotestsrc from Windows though ;)

Once PR#322 is merged, I'll make a separate PR for this as it wants its
own review.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: pidgin-screenshare.patch
Type: text/x-patch
Size: 14856 bytes
Desc: not available
URL: <https://pidgin.im/pipermail/devel/attachments/20180423/093abd67/attachment-0002.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/x-pkcs7-signature
Size: 5213 bytes
Desc: not available
URL: <https://pidgin.im/pipermail/devel/attachments/20180423/093abd67/attachment-0003.bin>


More information about the Devel mailing list