I've been playing around for a while using rygel to stream media (music, video, images) and using gupnp-av-cp to check that I can view/play the various files.
You can set gupnp-av-cp to used rygel's media renderer, which in turn uses gstreamer to render the streamed files.
I couldn't figure out what extensions were required by rygel to play videos and view images, so I hunted around for a way to use gstreamer directly and came upon the gst-launch command - this command usefully complains about what it is missing to play media files and so helped track down which extensions I needed.
As an example, this will play an mp3 music file: $ gst-launch filesrc location=/mnt/hda2/media/music/aayw.mp3 ! mad ! autoaudiosink
I couldn't figure out the chain of command switches to play an mp4 video file, but this "shortcut" works: gst-launch playbin uri=file:///mnt/hda2/media/video/video_test.mp4
Whether I use the command above, or a playbin shortcut for jpeg images, I get the error: ERROR: from element /GstPipeline:pipeline0/GstJpegDec:jpegdec0: Failed to decode JPEG image
...
Error #68: Unsupported marker type 0x03
..which makes me think there may be a problem with the way gstreamer is linked to the base libjpeg.
BTW, the "playbin" approach to png images seems to work in that some kind of images flashes very quickly on the screen