Saturday, November 28, 2009

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, havn't played enough with gupnp-av to dynamically get the mediatomb data -- for now!)
3c) Initiates playing

3a->3c have been tested using the synchronous GUPnP action api (send_action...) as well as the asynchronous API (begin_action.... end_action...) with callbacks!

Update: Seems this info is out-dated already, Zach has done quite some more after this.

Saturday, November 21, 2009

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 is not only a must have feature
 for a commercial MediaServer but is also a big first step towards proper
 XBox 360 support.
- Simplify Browse action handling.
- Simplify MediaServer plugin implementation.
- Make sure autostart dir exists before attempting to write to it.
- Fix a potential crash that is trigered by MediaContainer reporting incorrect
 (higher) number of children.
- External:
 - Work around (vala) bug#602003.
 - Optimizations and code clean-ups.
- Tracker:
 - Provide an efficient Search implementation using Tracker's search API.
 - Minor code clean-ups.

Dependency-related changes:

- Require gupnp-av >= 0.5.2.
- Require gupnp-vala >= 0.6.2.
- Require valac >= 0.7.9.

Bugs fixed in this release:

600256 - Segfault when trying to access a stream

All contributors to this release:

Zeeshan Ali (Khattak) 

Download source tarball from here.

Saturday, November 14, 2009

Some important definitions

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