Posts

Showing posts with the label DLNA

Rygel 0.4.12 (Through the Looking Glass) is out!

Another release in the stable 0.4.x series. Changes since 0.4.10: - Fix desktop file. - A few fixes to satisfy latest valac (0.7.10). - Adapt to new libxml Vala API. All contributors to this release: Zeeshan Ali (Khattak) Andreas Henriksson Philip Withnall Download source tarball here

GUPnP AV & GUPnP Vala releases

GUPnP AV 0.5.4 released Changes since 0.5.2: - Gracefully handle empty or no 'res' node. - Function to get the list of descriptors from DIDL-Lite objects. - More complete comparison for LPCM mime types. - Fix incorrect type conversion of DLNA flags. - DLNA flags should not default to a specific DLNA version. - New APIs to deal with contributor-related properties in DIDL-Lite objects. - Remove redundant construction methods. - Add forgotten header to the meta-header file. - Add and fix gobject-introspection annotations. - Lots of documentation fixes. - Many minor non-functional fixes/improvements. Bug fixes in this release: 1935 - Incorrect conversion while parsing primary DLNA Flags 1934 - DLNA Flags should not default to a specific DLNA version. 1933 - Content type matching fails when additional parameters exist in LPCM mime-type 1814 - Add "artists" property to GUPnPDIDLLiteObject All contributors to this release: Zeeshan Ali (Khattak) Yakup Akbay Za

Rygel 0.4.10 (A Human Reaction)

Rygel 0.4.10 (A Human Reaction) is out! Another release in the stable 0.4.x series. Changes since 0.4.8: - Restart application on SIGHUP. - Fix cancellation of HTTP streams and in turn a critical leak. - Correct condition for byte-seeking. - Correctly handle boolean commandline options. - Enable check for Vala if any stamp file is absent. - Fix condition for partial content transfer. - Correct linker argument order. This should fix the build issue on Gentoo. - Work-around for an automake bug. - Limit search slice to result size. - Fix a spelling mistake in error message. - Tell valac to put debugging symbols to generated code so gdb can refer to lines in the Vala source code. Bug fixes in this release: 601395 - restart on SIGHUP All contributors to this release: Zeeshan Ali (Khattak) Jens Georg Download source tarball here .

Rygel 0.4.8 (Till the Blood Runs Clear) is out!

Here goes the release log: A bug-fix release in stable 0.4.x series to fix seeking in general and playback for clients that always seek (Sony PS3). Dependency-related changes: - Require valac >= 0.7.10. All contributors to this release: Zeeshan Ali (Khattak) Download source tarball from here .

GSSDP 0.7.1 and GUPnP 0.13.2 released!

GSSDP 0.7.1 released! - Don't leak target regex. - Make GSSDPClient ignore Point to Point interfaces. - Use SO_REUSEPORT if present. Darwin and some BSDs don't have SO_REUSEADDR, but SO_REUSEPORT. - If we can't create a request socket don't try to create a multicast socket. - Have specific GError code for interfaces without an IP address. - Actually remove gssdp_client_new_full(). Bugs fixed: 1898 - GSSDPClient keeps autoselecting my VPN 1810 - Not possible to run multiple ssdp clients on darwin 1800 - leak of a gregex in gssdp-resource-browser 1796 - gssdp_client_new_full is declared in header but not implemented All contributors: Olivier Crête Ross Burton Iain Holmes Mattias Wadman Zeeshan Ali (Khattak) Download release tarballs from here GUPnP 0.13.2 released! Changes since 0.13.1: - Utilize libconic (Maemo5) if available. - Unix context manager must signal the unavailibility of all contexts when disposed. - Enable silent build rules if they are

We can has Python too

Zachary Goldberg reports : As I've been mentioning lately I have been working on using PyGObject + GObject Introspection (recently forked, now called PyGI + PyGObject + Gobject Introspection) and have some exciting news! I have been working on fleshing out a whole bunch of unit tests which exercise the entire GUPnP API. I hate a major roadblock in that PyGI did not support native callbacks! So, after a week or two detour I have implemented PyGI callbacks (which now work rather nicely, but need a bunch of stylistic cleanups and error checking before its pushed back upstream.. priorities!) as well as some working GUPnP demos. My best demo so far is about 25 lines of python which: 1) Gets all devices on one network interface 2) Scans for all the services each device provides 3) If the device is GMediaRenderer and it provides an AVTransport Service (it does...) then it 3a) Stops whatever is currently playing 3b) Loads a new URI (hardcoded from my mediatomb server for now, h

Video of Maemo summit talk

For those interested in UPnP/DLNA on Maemo and happen to miss Maemo summit, here is the video of my talk. You'll notice that slide screen is only half visible but that is not really a problem since you can access the slides here .

GUPnP AV, GUPnP Vala and Rygel releases

GUPnP AV 0.5.2 Changes since 0.5.1: - Add a missing NULL check. - Fix a potential leak of xmlDoc. - Register a (g)type for GUPnPSearchCriteriaOp for better gtk-doc and vala-gen-introspect support. - Fix docs for GUPnPSearchCriteriaParser::expression. - Fix parsing of SearchCriteria strings: Closing parenthesis doesn't imply end of SearchCriteria expression. All contributors to this release: Zeeshan Ali (Khattak) Download source tarball from here . GUPnP Vala 0.6.2 Changes since 0.6: - Remove bogus type_argument from gupnp metadata. - No need for custom bindings for SearchCriteriaParser. Dependency-related changes: - Require vala >= 0.7.8. - Require and adapt to gupnp-av >= 0.5.2. Bugs fixed: 1850 - Vapi for ServiceAction.get_message is wrong All contributors: Zeeshan Ali (Khattak) Jens Georg Download source tarball from here . Rygel 0.4.6 (They've Got a Secret) Brief summary of changes since 0.4.4: - Implement optional UPnP Search action. This

Some important definitions

The information on this page is essential for everyone out there who is even tiny bit interested in UPnP/DLNA.

Rygel 0.4.4 (Green & Mean) is out!

Here goes the release log: Brief summary of changes since 0.4.2: - Provide a gstreamer-based MediaRenderer plugin. This is mostly code stolen ( and heavily adapted) from gupnp-media-renderer except that it doesn't depend on libowl-av and/or gtk+. - More ease for MediaServer implementors. - Better error handling. - Make sure no message is suppressed until we know what level of console output user wants. - Make use of vala's async support to simplify code quite a bit. - Plugins should load xml files from source tree when built with '--enable-uninstalled' configure flag. - Build with no optimizations in debug mode. - Use closure table to speed up object lookup and deletion. - Add build option for SQL debugging. - Workaround a crasher bug (#3774) in sqlite 3.6.12. - Use vala's static client D-Bus syntax. - Early ignorance of disabled plugins. This not only speeds-up startup a bit but also rids us of redundant debug messages. - MediaExport: - Nicely handle

GUPnP 0.13.1 released

GUPnP 0.13.1 is out! Release log: Changes since 0.13: - Use unix context manager if NetworkManager service is not available. - Fix some minor leaks. All contributors: Zeeshan Ali (Khattak) Ross Burton Download source tarballs from here

Rygel 0.4.2 (Thank God It's Friday, Again)

I always forget to announce the micro releases here. Here it is now: Brief summary of changes since 0.4.1: - Ability to specify verbosity of console messages by a number between 0 to 5. - Be able to survive unavailability of D-Bus session bus. This should make it easier to setup Rygel on headless NAS machines. - MediaExport: - Provide duration and date of media. - Improved guessing for type (UPnP class) of media. - Re-harvest metadata when a file/directory is modified. - Speed-up browsing (twice as before). - rygel-preferences: - Fix enabling/disabling of widgets. - Copy the desktop file from correct location. - Mediathek and GstLaunch disabled by default in the user configuration. - Add GstLaunch to maemo configuration (disabled by default though). - Put dbus-glib-1 to the list of vala API dependencies. - Fix seek headers. - Be more verbose at the end of configure. Bugs fixed in this release: 596500 - Mpeg TS video files are mistaken for audio files 596213 - Wrong state for

Rygel 0.4.1 (Even more fascinating!)

Soon after Rygel 0.4 was released , Peter Robinson pushed it for F12 and our good friend Bastien Nocera started testing it immediately. He found many issues and some of them were so critical that we immediately had to make a another release with fixes for those issues. Thanks Bastien!

Rygel 0.4 (Fascinating!) is out!

Rygel 0.4 (Fascinating!) is out! As usual, the release announcement: Brief summary of changes since 0.3: - Rygel is no more just a MediaServer but rather a collection of DLNA (UPnP AV) services (devices in UPnP speak). - Port to new GUPnP APIs. The biggest advantage of that is that we now have dynamic network support, i-e Rygel can attach/detach to/from a network interface as it goes up/down. - Support for time-based seeking in transcoded streams. - Random tweaks to transcoding pipelines. - Provide a DBus service providing two functionalities: * Ability to tell Rygel to shutdown. Starting of Rygel is automatically handled by D-Bus since a .service file is provided by Rygel. * Ability to tell Rygel (MediaExport plugin actually) to (un)export URIs on the fly. - Implement enabling/disabling of UPnP in the preferences. - Configuration through command-line options. - Use a .ini configuration file rather than gconf. - Special default configuration for Maemo. - Don

GSSDP 0.7, GUPnP 0.13, GUPnP AV 0.5, GUPnP Tools 0.8 & GUPnP Vala 0.6

GSSDP 0.7 released! Changes in this release: - Join the multicast group on the specified interface. - Put the message src timeout in the specified GMainContext. - "host-ip" property moved from GUPnPContext to parent GSSDPClient. - Use inet_aton instead of inet_addr and handle the error from it. - gssdp-device-sniffer ported to GtkBuilder. - Version-independent target match. This makes client forward and backward compatible with resources that implement different version of the specs than the client. - Version-independent M-SEARCH response. This has the same effect as above but only the other way around. - GSSDPClient now binds to interface rather than IP. - No need to find the default route. - Add "active" property to GSSDPClient. - Fix pkg-config paths. - Add basic .gitignore. - Other minor/internal changes. Bugs fixed: 1621 - new gssdp timeout not added to the specific maincontext 1570 - gupnp doesn't set the pkgconfig lib dir correctly in 64 bit env Dependenc

Maemo based Nokia N900 phone

So the Maemo-based Nokia N900 is finally announced. We are finally free to tell everyone the cool stuff we have been cooking all this time. My work on this device was mostly with UPnP/DLNA and MAFW , not counting my work from n800 that was re-used. GUPnP will soon be in your pocket, so those out there who doubt the greatness of this library, time to face the facts. :) So now is the time to ask all the questions you have on our soon-in-the-shelves mobile phone. :)

Rygel 0.2.2 is out

Changes since 0.2: - Use the new (0.6.9) Tracker API. - Priority of gio-based streams are based on requested DLNA transfer mode. - GIO-based/like asynchronous plugin API. - Adapt to latest changes in gupnp-vala API. - Serialization of media objects isn't done by media objects themselves anymore, but by a new separate class, Rygel.DIDLLiteWriter. - Internal API is marked 'internal' so it doesn't get to our (Vala) API. - MediaObject now derives from GLib.Object. - Generic AsyncResult implementation, SimpleAsyncResult. - StateMachine interface that all state machines classes implement. - Visible performance improvements in Tracker plugin by proper use of Tracker APIs. - Use Filename.to_string() and therefore make Bastien happy. - Require lastest version (0.1.5) of libgee to use List.slice(). - Don't limit the number of objects returned to a client, let it decide that on it's own. - Proper handling of update notification to the client by use of a very simple bubble-

Rygel update

Image
For the past few weeks I have been cleaning-up and lately re-designing the source code. I am mostly finished with that and I can hopefully focus mostly on functional features piled in my todo now. The biggest change has been that plugins are now loaded into separate Media Servers and allowed to implement all kinds of resources (currently only service implementation is possible) instead of just providing a Media Provider interface. I decided to make it so when I realized that some plugins will need to implement additional services. For example a DVB plugin will want to implement a UPnP ScheduledRecording service rather than just exporting the channels. On a side-note, our brave user (and now a contributor) Florian Steinel has got Rygel working with his PS3 already. According to him all his audio and image files are discovered and played/rendered without any problems but not all of his video files. Yes, there is still room for improvements but I was expecting quite a lot of work on mak