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.
Zeeshan Ali (Khattak) [Fri, 8 Apr 2011 18:50:14 +0000 (21:50 +0300)]
core: Explicitly remove bus watch
We need to do this to break cyclic reference between HTTPGstResponse,
GstPipeline and GstBus.
Zeeshan Ali (Khattak) [Mon, 4 Apr 2011 19:41:38 +0000 (22:41 +0300)]
core: Correctly mark partial responses as such
Zeeshan Ali (Khattak) [Mon, 4 Apr 2011 19:37:54 +0000 (22:37 +0300)]
core: Always pass src element to GstResponse
Now its always the user (instantiator) of GstResponse that creates the
gstreamer source element for it.
Zeeshan Ali (Khattak) [Mon, 4 Apr 2011 19:28:50 +0000 (22:28 +0300)]
tests: Mock HTTPSeek.total_length
Zeeshan Ali (Khattak) [Mon, 4 Apr 2011 19:22:24 +0000 (22:22 +0300)]
core: Utility function to create source for URI
Zeeshan Ali (Khattak) [Mon, 4 Apr 2011 19:14:11 +0000 (22:14 +0300)]
core: Don't disconnect signals in destructor
Zeeshan Ali (Khattak) [Mon, 4 Apr 2011 19:06:03 +0000 (22:06 +0300)]
core: Don't preroll when seeking
If we are seeking, we must not send out first prerolled buffers since seek
event is sent to pipeline after it is in PAUSED state already and preroll
has already happened. i-e we will be always sending out the beginning of
the media if we execute the first preroll.
Mario Blättermann [Thu, 7 Apr 2011 17:42:14 +0000 (19:42 +0200)]
[l10n] Updated German translation
Topi Santakivi [Thu, 7 Apr 2011 10:40:38 +0000 (13:40 +0300)]
Tracker: Mark newly added items as available
Because d5ea912 make us only see items that are marked as available, we need to
mark our newly added items as available so client can find them in the
hierarchy.
Rudolfs Mazurs [Sat, 2 Apr 2011 13:32:41 +0000 (16:32 +0300)]
Updated Latvian translation.
Zeeshan Ali (Khattak) [Fri, 1 Apr 2011 14:07:20 +0000 (17:07 +0300)]
core: Don't send out more bytes than requested
Zeeshan Ali (Khattak) [Fri, 1 Apr 2011 13:54:03 +0000 (16:54 +0300)]
core: Initialize fields before preparing gst pipeline
Zeeshan Ali (Khattak) [Fri, 1 Apr 2011 13:50:45 +0000 (16:50 +0300)]
core: HTTPGstResponse.seek now public
Zeeshan Ali (Khattak) [Fri, 1 Apr 2011 13:49:44 +0000 (16:49 +0300)]
core: Rename HTTPGstSink.buffered to chunks_buffered
Zeeshan Ali (Khattak) [Fri, 1 Apr 2011 13:45:41 +0000 (16:45 +0300)]
core: Don't mark completion for content-length encoding
No need to mark completion of HTTP message when using Content-Length
encoding.
Zeeshan Ali (Khattak) [Fri, 1 Apr 2011 13:37:26 +0000 (16:37 +0300)]
core: Cleaner code by use of 'using' statement
Zeeshan Ali (Khattak) [Wed, 30 Mar 2011 15:15:14 +0000 (18:15 +0300)]
core: Use content-length encoding when byte seeking
GstResponse now uses content-length encoding when byte seeking.