Zeeshan Ali (Khattak) [Wed, 28 Jan 2009 12:34:01 +0000 (12:34 +0000)]
Root container is now created by ContentDir implementations.
svn path=/trunk/; revision=506
Zeeshan Ali (Khattak) [Wed, 28 Jan 2009 12:33:57 +0000 (12:33 +0000)]
MediaContainer derivates must implement find_object_by_id method.
svn path=/trunk/; revision=505
Zeeshan Ali (Khattak) [Wed, 28 Jan 2009 12:33:53 +0000 (12:33 +0000)]
MediaContainer derivates must implement get_children method.
svn path=/trunk/; revision=504
Zeeshan Ali (Khattak) [Wed, 28 Jan 2009 12:33:49 +0000 (12:33 +0000)]
Fix a typo in last release announcement.
svn path=/trunk/; revision=503
Zeeshan Ali (Khattak) [Wed, 28 Jan 2009 12:33:45 +0000 (12:33 +0000)]
No need to provide any equality function to ArrayList.
svn path=/trunk/; revision=502
Zeeshan Ali (Khattak) [Wed, 28 Jan 2009 12:33:41 +0000 (12:33 +0000)]
DVBChannelGroup:get_channels does the slicing.
DVBChannelGroup:get_channels does the slicing rather than DVBContentDir.
svn path=/trunk/; revision=501
Zeeshan Ali (Khattak) [Wed, 28 Jan 2009 12:33:37 +0000 (12:33 +0000)]
DVBChannelGroup keeps an ArrayList of channels.
svn path=/trunk/; revision=500
Zeeshan Ali (Khattak) [Wed, 28 Jan 2009 12:33:32 +0000 (12:33 +0000)]
Update ContentDirectory docs.
svn path=/trunk/; revision=499
Zeeshan Ali (Khattak) [Wed, 28 Jan 2009 12:33:28 +0000 (12:33 +0000)]
ContentDirectory.get_*_children() returns a Gee.List.
svn path=/trunk/; revision=498
Zeeshan Ali (Khattak) [Wed, 28 Jan 2009 12:33:24 +0000 (12:33 +0000)]
Always slice the browse results.
svn path=/trunk/; revision=497
Zeeshan Ali (Khattak) [Wed, 28 Jan 2009 12:33:20 +0000 (12:33 +0000)]
Drop slice_object_list() in favor of Gee.List.slice().
svn path=/trunk/; revision=496
Zeeshan Ali (Khattak) [Wed, 28 Jan 2009 12:33:16 +0000 (12:33 +0000)]
Remove now unneeded TrackerContainer.add_item_from_db.
svn path=/trunk/; revision=495
Zeeshan Ali (Khattak) [Wed, 28 Jan 2009 12:33:12 +0000 (12:33 +0000)]
Save ContentDir implementations from handling HTTPServer.item_requested.
svn path=/trunk/; revision=494
Zeeshan Ali (Khattak) [Wed, 28 Jan 2009 12:33:08 +0000 (12:33 +0000)]
HTTPServer doesn't print warning when item is not found.
svn path=/trunk/; revision=493
Zeeshan Ali (Khattak) [Wed, 28 Jan 2009 12:33:04 +0000 (12:33 +0000)]
Free ContentDirectory implementations from DIDL-Lite handling.
svn path=/trunk/; revision=492
Zeeshan Ali (Khattak) [Wed, 28 Jan 2009 12:32:59 +0000 (12:32 +0000)]
Separate out search and serialization in Test plugin.
svn path=/trunk/; revision=491
Zeeshan Ali (Khattak) [Wed, 28 Jan 2009 12:32:55 +0000 (12:32 +0000)]
Separate out search and serialization in DVB plugin.
svn path=/trunk/; revision=490
Zeeshan Ali (Khattak) [Wed, 28 Jan 2009 12:32:51 +0000 (12:32 +0000)]
Refactor: Put slicing of ArrayList into a separate method.
This should really be moved to ArrayList implementation.
svn path=/trunk/; revision=489
Zeeshan Ali (Khattak) [Wed, 28 Jan 2009 12:32:47 +0000 (12:32 +0000)]
Remove some forgotten redundant code.
svn path=/trunk/; revision=488
Zeeshan Ali (Khattak) [Wed, 28 Jan 2009 12:32:43 +0000 (12:32 +0000)]
Separate out search and serialization of root container in MediaTracker.
svn path=/trunk/; revision=487
Zeeshan Ali (Khattak) [Wed, 28 Jan 2009 12:32:38 +0000 (12:32 +0000)]
Separate out search and serialization in Tracker plugin.
svn path=/trunk/; revision=486
Zeeshan Ali (Khattak) [Wed, 28 Jan 2009 12:32:34 +0000 (12:32 +0000)]
MediaTracker serializes the children rather than TrackerContainer.
svn path=/trunk/; revision=485
Zeeshan Ali (Khattak) [Wed, 28 Jan 2009 12:32:29 +0000 (12:32 +0000)]
get_children_from_db returns children objects rather than paths.
svn path=/trunk/; revision=484
Zeeshan Ali (Khattak) [Wed, 28 Jan 2009 12:32:23 +0000 (12:32 +0000)]
Minor clean-up/move.
svn path=/trunk/; revision=483
Zeeshan Ali (Khattak) [Wed, 28 Jan 2009 12:32:17 +0000 (12:32 +0000)]
Duplicate common DIDLLiteResource fields in MediaItem.
This is to save typical plugin developer from the knowlege of
DIDLLiteResource. Next we need to make sure he doesn't need to know about
DIDL-Lite at all.
svn path=/trunk/; revision=482
Zeeshan Ali (Khattak) [Wed, 28 Jan 2009 12:32:10 +0000 (12:32 +0000)]
Decide priority based on requested transfer mode.
svn path=/trunk/; revision=481
Zeeshan Ali (Khattak) [Tue, 27 Jan 2009 22:38:34 +0000 (22:38 +0000)]
Revert "Merge branch 'easy-plugin'."
This reverts commit
88acdc44b8a8d97b39427509b3e18f71bce0340a.
Please ignore this and the previous commit. They resulted out of the
combination of my ignorance and git-svn greatness.
svn path=/trunk/; revision=480
Zeeshan Ali (Khattak) [Tue, 27 Jan 2009 17:22:51 +0000 (17:22 +0000)]
Merge branch 'easy-plugin'.
Conflicts:
NEWS
src/plugins/dvb/rygel-dvb-content-dir.vala
src/plugins/test/rygel-test-content-dir.vala
src/plugins/tracker/rygel-media-tracker.vala
src/rygel/rygel-content-directory.vala
src/rygel/rygel-seekable-response.vala
svn path=/trunk/; revision=479
Zeeshan Ali (Khattak) [Sat, 24 Jan 2009 17:20:24 +0000 (17:20 +0000)]
Explicitly build/link against libuuid.
Fixes the build on fedora 10 (bug#568987).
svn path=/trunk/; revision=478
Zeeshan Ali (Khattak) [Tue, 20 Jan 2009 11:21:42 +0000 (11:21 +0000)]
Post release version bump.
svn path=/trunk/; revision=477
Zeeshan Ali (Khattak) [Tue, 20 Jan 2009 11:21:38 +0000 (11:21 +0000)]
Switch back to Tracker trunk API.
This reverts commit
a450ef33135fff17a4701fee955dc6e371b74347.
svn path=/trunk/; revision=476
Zeeshan Ali (Khattak) [Mon, 19 Jan 2009 21:53:43 +0000 (21:53 +0000)]
Minor change in the NEWS file.
svn path=/trunk/; revision=473
Zeeshan Ali (Khattak) [Mon, 19 Jan 2009 21:53:38 +0000 (21:53 +0000)]
Create the groups ArrayList before any dbus calls.
Work around for a crasher bug caused by missing null-check in Vala.
svn path=/trunk/; revision=472
Zeeshan Ali (Khattak) [Mon, 19 Jan 2009 21:53:34 +0000 (21:53 +0000)]
Distribute vapi source files as well.
svn path=/trunk/; revision=471
Zeeshan Ali (Khattak) [Mon, 19 Jan 2009 21:53:29 +0000 (21:53 +0000)]
DVB plugin uses gstreamer-0.10 package.
svn path=/trunk/; revision=470
Zeeshan Ali (Khattak) [Mon, 19 Jan 2009 21:53:25 +0000 (21:53 +0000)]
Prepare NEWS file for next (0.2) release.
svn path=/trunk/; revision=469
Zeeshan Ali (Khattak) [Mon, 19 Jan 2009 21:53:21 +0000 (21:53 +0000)]
Revert "Use the new Tracker interface."
This reverts commit
3fc46a4e4802992b18e30af3a7b5b4e4c46bc953.
svn path=/trunk/; revision=468
Zeeshan Ali (Khattak) [Mon, 19 Jan 2009 21:53:16 +0000 (21:53 +0000)]
Version bump.
svn path=/trunk/; revision=467
Zeeshan Ali (Khattak) [Mon, 19 Jan 2009 15:56:46 +0000 (15:56 +0000)]
Refer to Rygel by name in License headers.
This is as per the GNU guidelines.
svn path=/trunk/; revision=466
Zeeshan Ali (Khattak) [Mon, 19 Jan 2009 15:56:41 +0000 (15:56 +0000)]
Refer to LGPL by it's (not so) new name.
svn path=/trunk/; revision=465
Zeeshan Ali (Khattak) [Mon, 19 Jan 2009 15:56:35 +0000 (15:56 +0000)]
Relicense under LGPL version 2.
svn path=/trunk/; revision=464
Zeeshan Ali (Khattak) [Mon, 19 Jan 2009 15:56:30 +0000 (15:56 +0000)]
Require latest vala, gupnp and gupnp-av.
svn path=/trunk/; revision=463
Zeeshan Ali (Khattak) [Mon, 19 Jan 2009 15:56:26 +0000 (15:56 +0000)]
configure options for disabling dvb and tracker plugins.
svn path=/trunk/; revision=462
Zeeshan Ali (Khattak) [Mon, 19 Jan 2009 15:56:22 +0000 (15:56 +0000)]
Don't use underscores in configure options.
svn path=/trunk/; revision=461
Zeeshan Ali (Khattak) [Mon, 19 Jan 2009 15:56:10 +0000 (15:56 +0000)]
Correctly initialize the responses array list.
svn path=/trunk/; revision=460
Zeeshan Ali (Khattak) [Mon, 19 Jan 2009 15:56:06 +0000 (15:56 +0000)]
Rename StreamingResponse to LiveResponse.
svn path=/trunk/; revision=459
Zeeshan Ali (Khattak) [Mon, 19 Jan 2009 15:56:02 +0000 (15:56 +0000)]
Rename InteractiveResponse to SeekableResponse.
This is because we'll be using SeekableResponse for streaming and background
transfer as well in the very near future.
svn path=/trunk/; revision=458
Zeeshan Ali (Khattak) [Sun, 18 Jan 2009 19:28:23 +0000 (19:28 +0000)]
Remove MetadataExtractor class.
We'll use libowl-av's TagReader.
svn path=/trunk/; revision=457
Zeeshan Ali (Khattak) [Sun, 18 Jan 2009 19:28:18 +0000 (19:28 +0000)]
Use Gee.ArrayList instead of GLib.List to keep DIDLLiteResource instances.
svn path=/trunk/; revision=456
Zeeshan Ali (Khattak) [Sun, 18 Jan 2009 19:28:13 +0000 (19:28 +0000)]
Close the InputStream asynchronously.
svn path=/trunk/; revision=455
Zeeshan Ali (Khattak) [Sun, 18 Jan 2009 19:28:09 +0000 (19:28 +0000)]
Explicitly close the input stream.
svn path=/trunk/; revision=454
Zeeshan Ali (Khattak) [Sun, 18 Jan 2009 19:28:04 +0000 (19:28 +0000)]
Merge branch 'leak-tests' into streamer-renaming
svn path=/trunk/; revision=453
Zeeshan Ali (Khattak) [Sun, 18 Jan 2009 19:27:58 +0000 (19:27 +0000)]
Remove blank lines.
svn path=/trunk/; revision=452
Zeeshan Ali (Khattak) [Sun, 18 Jan 2009 19:27:54 +0000 (19:27 +0000)]
HTTPResponse.end takes HTTP status code to put on the message.
This is to allow the users/subclasses to be always able to end the stream
using the same single method.
svn path=/trunk/; revision=451
Zeeshan Ali (Khattak) [Sun, 18 Jan 2009 19:27:49 +0000 (19:27 +0000)]
InteractiveResponse reports partial replies.
svn path=/trunk/; revision=450
Zeeshan Ali (Khattak) [Sun, 18 Jan 2009 19:27:44 +0000 (19:27 +0000)]
More extensive use of (async) GIO.
svn path=/trunk/; revision=449
Zeeshan Ali (Khattak) [Sun, 18 Jan 2009 19:27:40 +0000 (19:27 +0000)]
Seek class should reside in the same place as HTTPResponse.
svn path=/trunk/; revision=448
Zeeshan Ali (Khattak) [Sun, 18 Jan 2009 19:27:35 +0000 (19:27 +0000)]
Put Interactive response handling into a separate class.
svn path=/trunk/; revision=447
Zeeshan Ali (Khattak) [Sun, 18 Jan 2009 19:27:31 +0000 (19:27 +0000)]
Small beautification change.
svn path=/trunk/; revision=446
Zeeshan Ali (Khattak) [Sun, 18 Jan 2009 19:27:26 +0000 (19:27 +0000)]
Rename 'eos' signal of HTTPResponse to 'ended'.
svn path=/trunk/; revision=445
Zeeshan Ali (Khattak) [Sun, 18 Jan 2009 19:27:22 +0000 (19:27 +0000)]
Rename GstStream to StreamingResponse.
svn path=/trunk/; revision=444
Zeeshan Ali (Khattak) [Sun, 18 Jan 2009 19:27:17 +0000 (19:27 +0000)]
Rename Steam to HTTPResponse.
svn path=/trunk/; revision=443
Zeeshan Ali (Khattak) [Sun, 18 Jan 2009 19:27:11 +0000 (19:27 +0000)]
Rename Streamer to HTTPServer.
svn path=/trunk/; revision=442
Zeeshan Ali (Khattak) [Sun, 18 Jan 2009 19:26:59 +0000 (19:26 +0000)]
GstStream decides about chunking of message.
svn path=/trunk/; revision=441
Zeeshan Ali (Khattak) [Tue, 13 Jan 2009 14:33:35 +0000 (14:33 +0000)]
Handle item as interactive if it's size is known.
svn path=/trunk/; revision=440
Zeeshan Ali (Khattak) [Tue, 13 Jan 2009 14:33:32 +0000 (14:33 +0000)]
Don't handle seeking when streaming.
Turns out that seeking wasn't as simple as sending a seek event
to the pipeline.
svn path=/trunk/; revision=439
Zeeshan Ali (Khattak) [Tue, 13 Jan 2009 14:33:29 +0000 (14:33 +0000)]
Flush the AsyncQueue when the stream ends.
svn path=/trunk/; revision=438
Zeeshan Ali (Khattak) [Tue, 13 Jan 2009 14:33:25 +0000 (14:33 +0000)]
Use try_pop() instead of blocking pop() on AsyncQueue.
svn path=/trunk/; revision=437
Zeeshan Ali (Khattak) [Tue, 13 Jan 2009 14:33:22 +0000 (14:33 +0000)]
Only seek on upstream state change to PAUSED.
svn path=/trunk/; revision=436
Zeeshan Ali (Khattak) [Tue, 13 Jan 2009 14:33:18 +0000 (14:33 +0000)]
Add an auto-updated length property to Seek.
Seek now derives from GLib.Object.
svn path=/trunk/; revision=435
Zeeshan Ali (Khattak) [Tue, 13 Jan 2009 14:33:14 +0000 (14:33 +0000)]
offset in a file should be less than length of the file.
svn path=/trunk/; revision=434
Zeeshan Ali (Khattak) [Tue, 13 Jan 2009 14:33:10 +0000 (14:33 +0000)]
Use pointers for dealing with raw data instead of strings.
svn path=/trunk/; revision=433
Zeeshan Ali (Khattak) [Tue, 13 Jan 2009 14:33:06 +0000 (14:33 +0000)]
No need to use GUPnP namespace everywhere.
svn path=/trunk/; revision=432
Zeeshan Ali (Khattak) [Tue, 13 Jan 2009 14:33:03 +0000 (14:33 +0000)]
Claim DLNA BG transfer mode for known-sized items.
svn path=/trunk/; revision=431
Zeeshan Ali (Khattak) [Tue, 13 Jan 2009 14:32:59 +0000 (14:32 +0000)]
Check only prefix of MediaItem.upnp_class.
svn path=/trunk/; revision=430
Zeeshan Ali (Khattak) [Tue, 13 Jan 2009 14:32:56 +0000 (14:32 +0000)]
Always include Content-Range if size of item is known.
DLNA requirement 7.4.35.7.
svn path=/trunk/; revision=429
Zeeshan Ali (Khattak) [Tue, 13 Jan 2009 14:32:52 +0000 (14:32 +0000)]
Use a private class to pass around seek parameters.
Instead of passing around seek parameters to all functions, just create a
small class that keeps the parameters and use that.
svn path=/trunk/; revision=428
Zeeshan Ali (Khattak) [Tue, 13 Jan 2009 14:32:48 +0000 (14:32 +0000)]
GstStream overrides end() rather than providing stop().
svn path=/trunk/; revision=427
Zeeshan Ali (Khattak) [Tue, 13 Jan 2009 14:32:44 +0000 (14:32 +0000)]
Better error handling.
Stream should end itself if pads/elements don't get linked.
svn path=/trunk/; revision=426
Zeeshan Ali (Khattak) [Tue, 13 Jan 2009 14:32:41 +0000 (14:32 +0000)]
GstStream now inherits from Stream.
As a consequence, Streamer just uses GstStream only.
svn path=/trunk/; revision=425
Zeeshan Ali (Khattak) [Tue, 13 Jan 2009 14:32:36 +0000 (14:32 +0000)]
Remove unused Stream.accepted() method.
svn path=/trunk/; revision=424
Zeeshan Ali (Khattak) [Tue, 13 Jan 2009 14:32:33 +0000 (14:32 +0000)]
Go to PAUSED state first and then PLAYING.
This is to ensure that seek event is sent to pipeline before it goes to
PLAYING state. This could be the solution to mp3 not working on PS3.
svn path=/trunk/; revision=423
Zeeshan Ali (Khattak) [Tue, 13 Jan 2009 14:32:29 +0000 (14:32 +0000)]
GstStream provides means to start and stop the stream.
svn path=/trunk/; revision=422
Zeeshan Ali (Khattak) [Tue, 13 Jan 2009 14:32:25 +0000 (14:32 +0000)]
Range header doesn't necessarily imply partial content request.
svn path=/trunk/; revision=421
Zeeshan Ali (Khattak) [Tue, 13 Jan 2009 14:32:21 +0000 (14:32 +0000)]
tcp_timeout prop of rtspsrc is 64-bit.
Fixes a crash.
svn path=/trunk/; revision=420
Zeeshan Ali (Khattak) [Tue, 13 Jan 2009 14:32:17 +0000 (14:32 +0000)]
Range requests are valid when size > 0.
svn path=/trunk/; revision=419
Zeeshan Ali (Khattak) [Tue, 13 Jan 2009 14:32:12 +0000 (14:32 +0000)]
New low-level Streamer API.
Instead of emitting a signal for availability of a new stream, signal for
need of a gst source element if no URI is provided by the requested item.
This only works for streaming media.
svn path=/trunk/; revision=418
Zeeshan Ali (Khattak) [Tue, 13 Jan 2009 14:32:08 +0000 (14:32 +0000)]
Allow items to not provide URIs.
svn path=/trunk/; revision=417
Zeeshan Ali (Khattak) [Wed, 7 Jan 2009 12:56:12 +0000 (12:56 +0000)]
No need for a separate 'live' boolean in MediaItem.
Check if size of resource is known, instead.
svn path=/trunk/; revision=416
Zeeshan Ali (Khattak) [Wed, 7 Jan 2009 12:56:08 +0000 (12:56 +0000)]
Implement partial download (Range header).
Seems to work pretty well against PS3 but I did observe stream hanging
once.
svn path=/trunk/; revision=415
Zeeshan Ali (Khattak) [Wed, 7 Jan 2009 12:56:04 +0000 (12:56 +0000)]
Stream needs to know if it's accepted for a partial download.
svn path=/trunk/; revision=414
Zeeshan Ali (Khattak) [Wed, 7 Jan 2009 12:56:00 +0000 (12:56 +0000)]
Use the name of the device group as it's title.
svn path=/trunk/; revision=413
Zeeshan Ali (Khattak) [Wed, 7 Jan 2009 12:55:55 +0000 (12:55 +0000)]
Mark image items as 'interactive' in the DIDL.
svn path=/trunk/; revision=412
Zeeshan Ali (Khattak) [Wed, 7 Jan 2009 12:55:50 +0000 (12:55 +0000)]
Declare Test and DVB items, live.
svn path=/trunk/; revision=411
Zeeshan Ali (Khattak) [Wed, 7 Jan 2009 12:55:44 +0000 (12:55 +0000)]
Only claim Range (seek) operation for non-live items.
svn path=/trunk/; revision=410
Zeeshan Ali (Khattak) [Wed, 7 Jan 2009 12:55:37 +0000 (12:55 +0000)]
Don't claim to support DLNA's bg transfer mode and connection stalling.
svn path=/trunk/; revision=409
Zeeshan Ali (Khattak) [Fri, 2 Jan 2009 13:50:39 +0000 (13:50 +0000)]
Add a basic release plan.
svn path=/trunk/; revision=408
Zeeshan Ali (Khattak) [Tue, 30 Dec 2008 16:04:37 +0000 (16:04 +0000)]
Don't put iconList in description if there isn't any icon.
Providing an empty iconList was causing problems with gupnp-*-cp and PS3.
PS3 was just ignoring the whole Media Server instance and gupnp-*-cp were
segfaulting (that bug has long been fixed in gupnp though).
svn path=/trunk/; revision=407
Zeeshan Ali (Khattak) [Mon, 29 Dec 2008 16:10:03 +0000 (16:10 +0000)]
Choose the highest ranking RTP depayloader.
svn path=/trunk/; revision=406
Zeeshan Ali (Khattak) [Mon, 29 Dec 2008 16:09:59 +0000 (16:09 +0000)]
Ask for compatible pad rather than by name.
svn path=/trunk/; revision=405