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.
Zeeshan Ali (Khattak) [Wed, 30 Mar 2011 15:10:16 +0000 (18:10 +0300)]
tests: Byte seek fixed-length GstResponse
Zeeshan Ali (Khattak) [Wed, 30 Mar 2011 14:55:44 +0000 (17:55 +0300)]
tests: We must set 'sizemax' property of 'fakesrc'
Zeeshan Ali (Khattak) [Wed, 30 Mar 2011 14:12:59 +0000 (17:12 +0300)]
tests: Don't mock HTTPSeek class twice
Zeeshan Ali (Khattak) [Fri, 18 Mar 2011 14:40:12 +0000 (16:40 +0200)]
core: MediaItem.should_stream() -> is_live_stream()
Rename MediaItem.should_stream() to is_live_stream() and remove the now
incorrect and redundant comment.
Zeeshan Ali (Khattak) [Fri, 21 Jan 2011 15:28:30 +0000 (17:28 +0200)]
core: Support byte-seek if size is known
We now support byte-seek for all streams where size of content is known.
Zeeshan Ali (Khattak) [Wed, 30 Mar 2011 15:11:48 +0000 (18:11 +0300)]
tests: Set content-length on msg for SeekableResponse
Zeeshan Ali (Khattak) [Wed, 30 Mar 2011 14:53:19 +0000 (17:53 +0300)]
tests: Correct value of Seek.stop
Zeeshan Ali (Khattak) [Wed, 30 Mar 2011 14:08:11 +0000 (17:08 +0300)]
tests: Correct assertion in HTTPResponse testcase
Zeeshan Ali (Khattak) [Wed, 30 Mar 2011 14:07:12 +0000 (17:07 +0300)]
tests: Remove a cheat from HTTPResponse testcases
Zeeshan Ali (Khattak) [Wed, 30 Mar 2011 15:25:27 +0000 (18:25 +0300)]
core: Don't push more data than we are supposed to
This fixes a critical regression in SeekableResponse: We kept on pushing
content even after seek size was satisfied.
Zeeshan Ali (Khattak) [Wed, 30 Mar 2011 15:23:11 +0000 (18:23 +0300)]
core: Don't use buffer larger than size of data
Zeeshan Ali (Khattak) [Wed, 30 Mar 2011 15:18:12 +0000 (18:18 +0300)]
core: Explicitly set encoding on Soup.Message
Daniel Mustieles [Mon, 28 Mar 2011 17:06:18 +0000 (19:06 +0200)]
Updated Spanish translation
Abduxukur Abdurixit [Sun, 27 Mar 2011 19:47:47 +0000 (21:47 +0200)]
Added UG translation
Piotr Drąg [Sun, 27 Mar 2011 09:54:23 +0000 (11:54 +0200)]
Updated Polish translation
Daniel Nylander [Sat, 26 Mar 2011 20:11:06 +0000 (21:11 +0100)]
Updated Swedish translation
Andrej Žnidaršič [Sat, 26 Mar 2011 19:32:19 +0000 (20:32 +0100)]
Updated Slovenian translation
Yuri Myasoedov [Sat, 26 Mar 2011 19:04:09 +0000 (22:04 +0300)]
Updated Russian translation
Zeeshan Ali (Khattak) [Sat, 26 Mar 2011 18:46:44 +0000 (20:46 +0200)]
doc: Add Jens to maintainers' list in DOAP file
Zeeshan Ali (Khattak) [Sat, 26 Mar 2011 18:43:49 +0000 (20:43 +0200)]
doc: Provide long description in DOAP file
Zeeshan Ali (Khattak) [Sat, 26 Mar 2011 18:39:59 +0000 (20:39 +0200)]
doc: Even better/shorter short description
Zeeshan Ali (Khattak) [Sat, 26 Mar 2011 18:36:07 +0000 (20:36 +0200)]
doc: Capitalize first letter of name in DOAP file
Zeeshan Ali (Khattak) [Sat, 26 Mar 2011 18:30:16 +0000 (20:30 +0200)]
doc: Update short description in DOAP file
Zeeshan Ali (Khattak) [Sat, 26 Mar 2011 17:35:04 +0000 (19:35 +0200)]
tests: Forgotten symlink file from commit 803a195
Marek Černocký [Sat, 26 Mar 2011 14:32:08 +0000 (15:32 +0100)]
Updated Czech translation
Zeeshan Ali (Khattak) [Wed, 23 Mar 2011 14:00:57 +0000 (16:00 +0200)]
core: Refactor GstSink.render()
Put code that runs in main thread/loop that actually pushes data to
client, into a separate method.
Zeeshan Ali (Khattak) [Tue, 22 Mar 2011 21:54:10 +0000 (23:54 +0200)]
core: Move flow control to HTTPGstSink
This is not just a move and port of the code from GstResponse; we now
don't achieve synchronization by (un)pausing the gstreamer pipeline but
rather by the sink blocking the pipeline thread through waiting on a
GLib.Cond.
Zeeshan Ali (Khattak) [Tue, 22 Mar 2011 14:11:38 +0000 (16:11 +0200)]
core: Custom GStreamer sink for HTTP streaming
Zeeshan Ali (Khattak) [Tue, 22 Mar 2011 14:11:49 +0000 (16:11 +0200)]
build: Require & link against gst-plugins-base
Zeeshan Ali (Khattak) [Fri, 25 Mar 2011 17:26:20 +0000 (19:26 +0200)]
tests: Correct size check for HTTPResponse test
Zeeshan Ali (Khattak) [Fri, 25 Mar 2011 17:24:49 +0000 (19:24 +0200)]
tests: Add 'fakesrc' rather than 'audiotestsrc'
Zeeshan Ali (Khattak) [Fri, 25 Mar 2011 14:19:39 +0000 (16:19 +0200)]
tests: Mock HTTPSeek class for HTTPGstResponse test
Zeeshan Ali (Khattak) [Wed, 16 Mar 2011 23:56:21 +0000 (01:56 +0200)]
core: Simplify HTTPResponse classes' construction