Topi Santakivi [Thu, 19 May 2011 09:49:03 +0000 (12:49 +0300)]
core: More formats to TimeSeekRange parsing
So far the TimeSeekRange.dlna.org parsing has been supported
for time ranges in the format '0.00-417.33' and
'00:00:01.0-10:19:25.7'. In DLNA (guideline 7.4.40.3) the
time range can also be in the format '0.00-00:01:21.3',
or '00:01:21.3'. This commit adds support for those.
Topi Santakivi [Tue, 17 May 2011 13:57:05 +0000 (16:57 +0300)]
core: Fix transfer mode for thumbnails
Commit 487816a made Rygel compliant with DLNA guideline 7.4.49.4 but
broke the thumbnails. This commit loosens the restrictions to make
thumbnails work again.
Jens Georg [Thu, 19 May 2011 16:14:15 +0000 (18:14 +0200)]
tracker: Support existing non-indexed files
Jens Georg [Thu, 19 May 2011 15:26:33 +0000 (17:26 +0200)]
tracker: Don't fail on existing resources
If we try to add a resource with a URI that already exists in tracker,
don't error out but return the resource URI of the existing resource.
Jens Georg [Thu, 19 May 2011 14:22:42 +0000 (16:22 +0200)]
core: Non-native files are not writable
Jens Georg [Thu, 19 May 2011 13:58:20 +0000 (15:58 +0200)]
core: Don't serve place_holder items
Jens Georg [Thu, 19 May 2011 13:57:33 +0000 (15:57 +0200)]
core: Don't crash on invalid input in CreateObject
Jens Georg [Wed, 11 May 2011 08:35:34 +0000 (10:35 +0200)]
tracker: Print the used upload directories
Jens Georg [Wed, 11 May 2011 07:31:35 +0000 (09:31 +0200)]
tracker: Non-native files are nfo:RemoteDataObject
This also reflects in the place_holder state. Placeholder items are now
those that are nie:DataObjects but not nfo:FileDataObjects or
nfo:RemoteDataObjects.
Jens Georg [Fri, 6 May 2011 09:46:11 +0000 (11:46 +0200)]
core: Always wait for update first
Try to avoid a race where the HTTP post gets signalled by the wrong change.
Jens Georg [Fri, 6 May 2011 09:44:08 +0000 (11:44 +0200)]
tracker: Set item size in the tracker-miner graph
Otherwise the miner doesn't correct it after extracting.
This fixed DLNA requirement 7.3.128.7
Jens Georg [Wed, 4 May 2011 11:56:30 +0000 (13:56 +0200)]
core: Consider non-native URIs place_holder items
If there was no <res> in the DIDL, we consider them as place_holder
as well.
Jens Georg [Wed, 4 May 2011 17:35:29 +0000 (19:35 +0200)]
core: Always cancel timeout after POST
This prevents some misleading "timed out while waiting for" messages.
Jens Georg [Wed, 4 May 2011 11:55:03 +0000 (13:55 +0200)]
tracker: Deduct place_holder status from rdf:type
We create place-holder items as nie:DataObjects now and query for their
promotion to nfo:FileDataObject through the miner as an indicator that
a real file exists now.
Jens Georg [Wed, 4 May 2011 11:53:57 +0000 (13:53 +0200)]
core: Make place-holder a public property
Jens Georg [Wed, 18 May 2011 09:31:55 +0000 (11:31 +0200)]
i18n: More files to ignore
Topi Santakivi [Mon, 16 May 2011 14:05:56 +0000 (17:05 +0300)]
tests: Updated http-time-seek-test.vala
Topi Santakivi [Fri, 13 May 2011 13:01:32 +0000 (16:01 +0300)]
core: Complete TimeSeekRange parsing
Topi Santakivi [Fri, 13 May 2011 13:00:02 +0000 (16:00 +0300)]
core: Correct HTTP code for TimeSeek
This commit makes Rygel return HTTP 206 (Partial Content)
only in the case when the Range header is present. See [1]
for details.
[1] http://tools.ietf.org/html/rfc2616#section-14.35.2
Marek Černocký [Sun, 15 May 2011 20:29:02 +0000 (22:29 +0200)]
Updated Czech translation
Santakivi Topi [Wed, 11 May 2011 13:16:22 +0000 (15:16 +0200)]
core: Return HTTP 400 for invalid range
Luis de Bethencourt [Wed, 11 May 2011 13:03:55 +0000 (15:03 +0200)]
core: Catch specific range error
Santakivi Topi [Wed, 11 May 2011 10:44:58 +0000 (12:44 +0200)]
core: HTTP response 416 on seek out-of-bounds
Luis de Bethencourt [Fri, 6 May 2011 17:12:17 +0000 (19:12 +0200)]
core: Fix out of bounds seek response
Fixes CTT test cases: 7.4.38.6 & 7.4.40.8
Jens Georg [Sat, 7 May 2011 19:26:11 +0000 (21:26 +0200)]
tests: Mock XBoxHacks for unit-tests
Jens Georg [Sat, 7 May 2011 17:06:22 +0000 (19:06 +0200)]
core: Serve video thumbnails to XBox 360
Jens Georg [Sat, 7 May 2011 16:59:09 +0000 (18:59 +0200)]
core: Fake Windows Media Player 11 for XBox 360
This also enables us to drop the ugly postfix on the friendly name.
Jens Georg [Sat, 7 May 2011 15:57:17 +0000 (17:57 +0200)]
core: Set DLNA profile and mime type for Thumbnail
Jens Georg [Fri, 6 May 2011 16:16:05 +0000 (18:16 +0200)]
core: Slightly correct previous commit 487816
- ImageItem implies !streamable
- MusicItem / VideoItem imply streamable
Didn't see that during review.
Gabriel F. Vilar [Fri, 6 May 2011 12:52:43 +0000 (09:52 -0300)]
Updated Brazilian Portuguese translation
Topi Santakivi [Tue, 3 May 2011 11:06:58 +0000 (14:06 +0300)]
core: Add restrictions to correct transfer modes
This patch makes the transfer mode check conform
with DLNA guideline 7.4.49.4.
Jens Georg [Sat, 23 Apr 2011 11:16:01 +0000 (14:16 +0300)]
core: Fix album art
Add album art as upnp:albumArtURI, not thumbnail. Was somehow lost.
Jens Georg [Wed, 4 May 2011 17:32:23 +0000 (19:32 +0200)]
tracker: Use D-Bus filtering for GraphUpdated
Don't let tracker wake us for each and everything that happens in the
store and use server-side filtering for the IRIs we are really
interested in.
Jens Georg [Mon, 2 May 2011 10:11:49 +0000 (12:11 +0200)]
core: Prevent critical if there's no User-Agent
Jens Georg [Mon, 2 May 2011 10:05:51 +0000 (12:05 +0200)]
core: Return proper error if dc:title is missing
dc:title is mandatory as per ContentDirectoryV2 specification, 2.5.8
Jens Georg [Sat, 23 Apr 2011 10:57:54 +0000 (13:57 +0300)]
media-export: Ignore unknown file from discoverer
Sometimes and for some files the discoverer seems to send multiple
events.
Jens Georg [Sat, 30 Apr 2011 16:04:50 +0000 (19:04 +0300)]
core: Do not use entity-quoting in UTF-8 XML
Fixes bgo#648486 - Rygel doesn't show up in Samsung PS50C77 TV
Muhammet Kara [Fri, 29 Apr 2011 00:09:44 +0000 (03:09 +0300)]
Updated Turkish translation
Muhammet Kara [Fri, 29 Apr 2011 00:03:38 +0000 (03:03 +0300)]
Added Turkish translation
Santakivi Topi [Thu, 28 Apr 2011 11:47:46 +0000 (14:47 +0300)]
core: Only error out on forbidden flags
Previously ItemCreator was throwing a bad metadata error if any bit of
dlnaManaged was set in the DIDL item. Now we only do so if forbidden
bits were set.
This satisfies DLNA requirement 7.3.118.4.
Jens Georg [Fri, 22 Apr 2011 18:08:28 +0000 (21:08 +0300)]
core: Call correct callback in handle_real
Was working by chance only
Jens Georg [Sun, 17 Apr 2011 09:12:53 +0000 (12:12 +0300)]
data: Add more exotic media to MediaExport
.mpc/.mpc: MusePack
.wv: WavPack
.aac: Stand-alone AAC (raw/ADTS)
.mp2: MPEG 1, Audio Profile 2
.webm: WebM video files
.mka: Audio in a Matoska files
Jens Georg [Fri, 22 Apr 2011 05:20:54 +0000 (08:20 +0300)]
build: Use "missing" wrapper to generate ChangeLog
Lê Trường An [Wed, 20 Apr 2011 12:52:27 +0000 (19:52 +0700)]
Updated Vietnamese translation
Nguyễn Thái Ngọc Duy [Wed, 20 Apr 2011 12:50:00 +0000 (19:50 +0700)]
po/vi.po: import from Damned Lies
Zeeshan Ali (Khattak) [Tue, 19 Apr 2011 15:59:43 +0000 (18:59 +0300)]
core: Print help string on bad arguments to options
Zeeshan Ali (Khattak) [Tue, 19 Apr 2011 15:59:12 +0000 (18:59 +0300)]
core: Minor coding-style fix
Zeeshan Ali (Khattak) [Tue, 19 Apr 2011 14:58:50 +0000 (17:58 +0300)]
core: Ignore unknown commandline options
Zeeshan Ali (Khattak) [Sat, 16 Apr 2011 18:51:39 +0000 (21:51 +0300)]
todo: Add task for merging sunil's work
Jens Georg [Sat, 16 Apr 2011 15:00:32 +0000 (18:00 +0300)]
Release 0.10.1
Jens Georg [Sat, 16 Apr 2011 14:59:09 +0000 (17:59 +0300)]
build: Generate ChangeLog from git on make dist
Jens Georg [Sat, 16 Apr 2011 12:50:42 +0000 (15:50 +0300)]
media-export: Cache exists information
Exists information is cached for the first run of rygel. This speeds up
initial start-up (and lowers stress on SQLite)
Jens Georg [Sat, 16 Apr 2011 11:11:11 +0000 (14:11 +0300)]
media-export: Delay rebuild of virtual containers
Delay the rebuild on file-system changes after the inital crawl. The
solution introduced with
3305afc1cecc7ef26d5b7fdd588a3825cfe4b369 causes
a massive stress on the SQLite database causing CPU load of 100% and
causing a massive slow-down in the initial crawl.
Jens Georg [Fri, 15 Apr 2011 20:27:00 +0000 (23:27 +0300)]
media-export: Don't crash on file without streams
Zeeshan Ali (Khattak) [Sat, 16 Apr 2011 14:43:38 +0000 (17:43 +0300)]
vcs: Add our TODO list to VCS
Zeeshan Ali (Khattak) [Tue, 12 Apr 2011 10:38:28 +0000 (13:38 +0300)]
Release 0.10.0
Zeeshan Ali (Khattak) [Thu, 14 Apr 2011 23:12:01 +0000 (02:12 +0300)]
tests: Update time seek test for commit 4b96c34
Zeeshan Ali (Khattak) [Thu, 14 Apr 2011 23:10:55 +0000 (02:10 +0300)]
tests: Update time seek test for commit aed9247
Jens Georg [Wed, 13 Apr 2011 14:50:39 +0000 (17:50 +0300)]
core: Don't error out if file does not exist
It might be that it hadn't been uploaded yet; so depending on the
back-end there might be a stale object in the database
Zeeshan Ali (Khattak) [Thu, 14 Apr 2011 12:59:34 +0000 (15:59 +0300)]
core: Introducing HTTPSeek.step property
Abstract HTTPSeek class now uses (and requires) a 'step' property.
Currently its only used for calculating 'length' from given 'stop' and
'start' values.
This also fixes the wrong length calculation for HTTPTimeSeek in case of
serving the whole duration of the stream.
Zeeshan Ali (Khattak) [Thu, 14 Apr 2011 12:57:20 +0000 (15:57 +0300)]
core: Report slightly more accurate time seek range
Jens Georg [Wed, 13 Apr 2011 18:00:45 +0000 (21:00 +0300)]
media-export: Properly cancel the file monitor
Jens Georg [Wed, 13 Apr 2011 16:49:32 +0000 (19:49 +0300)]
media-export: Fix crash on file removal
Zeeshan Ali (Khattak) [Wed, 13 Apr 2011 15:05:28 +0000 (18:05 +0300)]
core: 'dlnaManaged' must not be set by client
'dlnaManaged' attribute must not be set by client on newly created item.
This satisfies DLNA CTT testcase 7.3.133.6.
Jens Georg [Wed, 13 Apr 2011 11:55:18 +0000 (14:55 +0300)]
core: Prevent crash in ImportResource
Throw error when required input arguments are missing.
Jens Georg [Wed, 13 Apr 2011 11:54:49 +0000 (14:54 +0300)]
tracker: Mark resources we created as ours
Jens Georg [Wed, 13 Apr 2011 11:49:44 +0000 (14:49 +0300)]
tracker: Create a unique URI for new items
Previously items with the same title had the same URI, leading to
constraint failed errors
Jens Georg [Tue, 12 Apr 2011 14:29:53 +0000 (17:29 +0300)]
tracker: Properly escape regex in title containers
Zeeshan Ali (Khattak) [Wed, 13 Apr 2011 12:20:59 +0000 (15:20 +0300)]
core: Change visibility of a method to 'private'
SourceConnectionManager.get_protocol_info() now private.
Zeeshan Ali (Khattak) [Wed, 13 Apr 2011 12:05:47 +0000 (15:05 +0300)]
core: Refactor SourceConnectionManager.constructed
Zeeshan Ali (Khattak) [Wed, 13 Apr 2011 12:02:03 +0000 (15:02 +0300)]
core: Throw error on item creation of wrong DLNA PN
Throw error 712 on creation of item of wrong DLNA profile to satisfy DLNA
CTT testcase 7.3.134.3.
Zeeshan Ali (Khattak) [Wed, 13 Apr 2011 11:35:33 +0000 (14:35 +0300)]
core: Throw error on creation of item of wrong class
We do throw error anyways but the error must be 712 to satisfy DLNA CTT
testcase 7.3.134.3.
Zeeshan Ali (Khattak) [Wed, 13 Apr 2011 11:33:33 +0000 (14:33 +0300)]
tracker: Don't crash on unknown profile
Zeeshan Ali (Khattak) [Tue, 12 Apr 2011 16:27:59 +0000 (19:27 +0300)]
core: Add support for 'refID' attribute
Although currently no plugin uses this, we are already adding this basic
support to satisfy DLNA CTT test case 7.3.67.1.
Zeeshan Ali (Khattak) [Tue, 12 Apr 2011 16:26:37 +0000 (19:26 +0300)]
core: Check for null before converting to upper case
Zeeshan Ali (Khattak) [Tue, 12 Apr 2011 16:04:32 +0000 (19:04 +0300)]
core: Expose 'dc:date' for items when available
Zeeshan Ali (Khattak) [Tue, 12 Apr 2011 16:03:10 +0000 (19:03 +0300)]
tracker: Take mime-type from gupnp-dlna
In order to work around bug#647575, we take mime-type from gupnp-dlna
(whenever possible) rather than Tracker.
Zeeshan Ali (Khattak) [Tue, 12 Apr 2011 15:38:55 +0000 (18:38 +0300)]
tracker: Set 'nie:contentCreated' on created items
Zeeshan Ali (Khattak) [Tue, 12 Apr 2011 15:35:46 +0000 (18:35 +0300)]
core: Don't offer audio transcoding for videos
This fix now satisfies DLNA test case 7.3.25.1.
Zeeshan Ali (Khattak) [Mon, 11 Apr 2011 16:13:33 +0000 (19:13 +0300)]
core: Support 'background' mode for all streams
According to DLNA requirement 7.3.50.1, we must support background
transfer mode for all streams for which we support HTTP connection
stalling.
Zeeshan Ali (Khattak) [Mon, 11 Apr 2011 21:30:17 +0000 (00:30 +0300)]
core: Use the transfer mode header constant
Luis de Bethencourt [Wed, 23 Mar 2011 12:46:02 +0000 (13:46 +0100)]
core: Print warning if pad linking fails
Print warning if pad linking between decodebin and encodebin fails.
Co-author: Zeeshan Ali (Khattak) <zeeshanak@gnome.org>
Luis de Bethencourt [Fri, 18 Mar 2011 16:05:21 +0000 (17:05 +0100)]
core: Set MPEG audio to layer 2 in MPEG TS transcoder
Luis de Bethencourt [Thu, 17 Mar 2011 14:15:14 +0000 (15:15 +0100)]
core: Correct version of audio mpeg in MPEG TS transcoding
Luis de Bethencourt [Thu, 17 Mar 2011 14:14:19 +0000 (15:14 +0100)]
core: LPCM is supposed to be in big endian
Luis de Bethencourt [Mon, 14 Mar 2011 17:43:23 +0000 (18:43 +0100)]
core: Request pad from encoder if not available
Use the encodebin's action signal to request pad from it if not already
available.
Luis de Bethencourt [Mon, 14 Mar 2011 17:40:47 +0000 (18:40 +0100)]
core: Remove WMA transcoder as its redundant now
Co-author: Zeeshan Ali (Khattak) <zeeshanak@gnome.org>
Luis de Bethencourt [Mon, 14 Mar 2011 17:28:05 +0000 (18:28 +0100)]
core: Unified encodebin-based transcoding
Move the core of transcoding into the base transcoder class so each
transcoder then simply has to provide an encoding profile (as a
GstEncodingProfile) and not have to create the static pipelines etc.
Co-author: Zeeshan Ali (Khattak) <zeeshanak@gnome.org>
Luis de Bethencourt [Mon, 14 Mar 2011 17:02:42 +0000 (18:02 +0100)]
core: encodebin-based MP3 transcoder
Co-author: Zeeshan Ali (Khattak) <zeeshanak@gnome.org>
Luis de Bethencourt [Mon, 14 Mar 2011 16:35:30 +0000 (17:35 +0100)]
core: encodebin-based MPEG TS transcoder
Video and audio encoders and muxer are correctly auto-selected by
encodebin for us, however we don't set the bitrate currently as we don't
have a reliable way to do so.
Co-author: Zeeshan Ali (Khattak) <zeeshanak@gnome.org>
Luis de Bethencourt [Mon, 14 Mar 2011 16:55:36 +0000 (17:55 +0100)]
build: Depend & link against gstreamer-pbutils
Zeeshan Ali (Khattak) [Sun, 10 Apr 2011 13:14:54 +0000 (16:14 +0300)]
core: Remove a redundant ld flag
Zeeshan Ali (Khattak) [Sat, 9 Apr 2011 01:49:01 +0000 (04:49 +0300)]
core: Some coding-style fixes
Zeeshan Ali (Khattak) [Sat, 9 Apr 2011 00:27:27 +0000 (03:27 +0300)]
core,tests: Merge GstResponse into HTTPResponse
Zeeshan Ali (Khattak) [Fri, 8 Apr 2011 23:28:04 +0000 (02:28 +0300)]
core,i18n,tests: Remove HTTPSeekableResponse
Remove now redundant HTTPSeekableResponse class and its test.
Zeeshan Ali (Khattak) [Mon, 4 Apr 2011 19:44:31 +0000 (22:44 +0300)]
core: Use GstResponse for all streams
Zeeshan Ali (Khattak) [Fri, 8 Apr 2011 22:37:36 +0000 (01:37 +0300)]
core: Don't ask Gst to handle HTTPByteSeek.stop
- Seems pipeline takes a very long time to playing state if we set the
stop bit.
- HTTPGstSink doesn't let more bytes flow than requested anyways.
An issue in here is that pipeline will keep rolling now even after the
requested byte segment has been sent to the client. This issue however
should not realize since every decent client will abort the request
immediately after it has been satisfied and we stop/destroy the pipeline
when that happens.
Zeeshan Ali (Khattak) [Fri, 8 Apr 2011 21:51:14 +0000 (00:51 +0300)]
core: Tell GStreamer we want accurate seek
Zeeshan Ali (Khattak) [Mon, 4 Apr 2011 19:57:17 +0000 (22:57 +0300)]
tests: Adjust byte sizes to better test seeking
Zeeshan Ali (Khattak) [Fri, 8 Apr 2011 21:54:19 +0000 (00:54 +0300)]
core: Don't preroll
The reason whole streaming was broken was that we were sending prerolled
buffers to the client. When doing the flushing seek, we don't want
prerolled buffers.
Many thanks to Michael Smith for pointing this out.