[Bug 761099] http: cookies sharing in the pipeline

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Mon Jan 25 09:49:45 PST 2016


https://bugzilla.gnome.org/show_bug.cgi?id=761099

--- Comment #1 from Thiago Sousa Santos <thiagossantos at gmail.com> ---
For solving this issue, a Gstreamer CookieJar was implemented (copied from
libsoup) and it can be used as a generic in-memory repository of cookies that
emits a signal everytime a cookie is added/removed/modified. In this manner,
other cookiejar implemenations can listen to this signal and keep their jars
synchronized. It is necessary that these implementations also notify the
gstreamer cookiejar when their cookies change.

The cookiejar is shared through a context message.

Patches are needed everywhere:

core: http://cgit.freedesktop.org/~thiagoss/gstreamer/log/?h=cookies
Adds new http module to gst-uninstalled

base: http://cgit.freedesktop.org/~thiagoss/gst-plugins-base/log/?h=gstcookies
Adds new http module that has a gstcookie and gstcookiejar. Those are copied
from libsoup's implementation and:
* Stripped of all functions that were not related to adding/removing cookies to
the jar.
* Added a RecMutex to prevent concurrent cookiejar manipulation
* When one operation is being done (adding/removal) a flag is set that makes it
ignore all calls to add/remove cookies to avoid that listeners of the 'changed'
signal modify the cookiejar as a reflex of receiving the signal. This can
happen when the cookiejar implementation emits its own version of the 'changed'
signal causing an infinite recursion of cookie adding.

good: http://cgit.freedesktop.org/~thiagoss/gst-plugins-good/log/?h=gst-cookies
use the http module cookiejar sharing and bind it with libsoup's cookiejar to
keep them synchronized

bad: http://cgit.freedesktop.org/~thiagoss/gst-plugins-bad/log/?h=cookies
Have a way to make uridownloader able to post need-context messages on a bus so
that it can get the http context from the pipeline.

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list