Posts

Showing posts from June, 2019

Making the 'httpsrc' plugin asynchronous | GSoC 2019

Image
GStreamer plugins are the building units of any GStreamer application. The plugins can be linked and arranged in a pipeline. This pipeline defines the flow of the data. 'souphttpsrc' , aka HTTP source is a plugin which reads data from a remote location specified by a URI and the supported protocols are 'http', 'https'. This plugin is written in C.  'rshttpsrc' is the Rust version of the above said plugin.  Although the Rust version of the plugin is working, it is not feature complete. So my task here is to finish 'rshttpsrc' plugin completely. Let me break the task into smaller branches. Switching to async IO (Currently it is making request synchronously).  Support for cookie/HTTP connection sharing between multiple instances.  Making 'rshttpsrc' feature equivalent to 'souphttpsrc' (the C version of the same plugin). There are properties missing in 'rshttpsrc' which are implemented in C version of the plugin

The Journey Begins | Google Summer of Code

Image
Google Summer of Code (GSoC) is a global program focused on bringing more student developers into open source software development. Students work with an open source organization on a 3 month programming project during their break from school. It has always been a wish of mine to contribute to open source community. I was ecstatic would be an understatement when I got the opportunity to contribute Gnome foundation through GSoC 2019. We go through an organized and friendly environment during this period which makes GSoC a great way to enter the open source community. More importantly each student gets a mentor to guide him/her through out the GSoC period. And I am the luckiest to have gotten Sebastian Dröge as my mentor. I'm working on GStreamer based project of Gnome Foundation. GStreamer is a pipeline-based multimedia framework that links together a wide variety of media processing systems to complete complex workflows. The framework is based on plugins that will provide t