Zeeshan Ali (Khattak) [Sat, 28 Mar 2009 00:46:40 +0000 (00:46 +0000)]
MP3Trancoder specifies the bitrate in Resource.
svn path=/trunk/; revision=773
Zeeshan Ali (Khattak) [Sat, 28 Mar 2009 00:46:36 +0000 (00:46 +0000)]
mpeg2enc wants us to tell it the aspect ratio.
svn path=/trunk/; revision=772
Zeeshan Ali (Khattak) [Sat, 28 Mar 2009 00:46:32 +0000 (00:46 +0000)]
TranscodeManager keeps a single list of transcoders.
svn path=/trunk/; revision=771
Zeeshan Ali (Khattak) [Sat, 28 Mar 2009 00:46:27 +0000 (00:46 +0000)]
TranscodeManager keeps list of transcoders.
svn path=/trunk/; revision=770
Zeeshan Ali (Khattak) [Sat, 28 Mar 2009 00:46:23 +0000 (00:46 +0000)]
Transcoder tells the primary UPnP class it is meant for.
svn path=/trunk/; revision=769
Zeeshan Ali (Khattak) [Sat, 28 Mar 2009 00:46:19 +0000 (00:46 +0000)]
Provide video transcoding for audio/music items as well.
svn path=/trunk/; revision=768
Zeeshan Ali (Khattak) [Sat, 28 Mar 2009 00:46:15 +0000 (00:46 +0000)]
Provide audio transcoding for videos as well.
svn path=/trunk/; revision=767
Zeeshan Ali (Khattak) [Sat, 28 Mar 2009 00:46:10 +0000 (00:46 +0000)]
Refactor TranscodeManager.add_resources().
svn path=/trunk/; revision=766
Zeeshan Ali (Khattak) [Sat, 28 Mar 2009 00:46:06 +0000 (00:46 +0000)]
MP3Transcoder (re-)uses L16Transcoder's encoder.
svn path=/trunk/; revision=765
Zeeshan Ali (Khattak) [Sat, 28 Mar 2009 00:46:02 +0000 (00:46 +0000)]
More specific naming for L16Transcoder's encoder bin.
svn path=/trunk/; revision=764
Zeeshan Ali (Khattak) [Sat, 28 Mar 2009 00:45:58 +0000 (00:45 +0000)]
Correct a copy&paste mistake.
svn path=/trunk/; revision=763
Zeeshan Ali (Khattak) [Sat, 28 Mar 2009 00:45:53 +0000 (00:45 +0000)]
L16Transcoder supports both endianness'es.
svn path=/trunk/; revision=762
Zeeshan Ali (Khattak) [Sat, 28 Mar 2009 00:45:48 +0000 (00:45 +0000)]
Turn TranscoderBin into GstUtils.
TranscoderBin was only having two static utility functions that could
be used by non-transcoder-bin classes as well and we can move other
gst-related functions here in future.
svn path=/trunk/; revision=761
Zeeshan Ali (Khattak) [Sat, 28 Mar 2009 00:45:43 +0000 (00:45 +0000)]
TranscoderBin.post_error is now static.
svn path=/trunk/; revision=760
Zeeshan Ali (Khattak) [Sat, 28 Mar 2009 00:45:37 +0000 (00:45 +0000)]
create_transcoder is now part of relevant Transcoder.
Move static create_transcoder method from TranscoderBin implementation
to relevant Transcoder classes as non-static method.
svn path=/trunk/; revision=759
Zeeshan Ali (Khattak) [Sat, 28 Mar 2009 00:45:32 +0000 (00:45 +0000)]
Put gst transcoder bins into separate files.
svn path=/trunk/; revision=758
Zeeshan Ali (Khattak) [Sat, 28 Mar 2009 00:45:26 +0000 (00:45 +0000)]
MP3TrancoderBin doesn't need to keep layer info.
svn path=/trunk/; revision=757
Zeeshan Ali (Khattak) [Sat, 28 Mar 2009 00:45:20 +0000 (00:45 +0000)]
MP3Transcoder doesn't need to proxy it's Bin's methods.
MP2TStrancoder can directly uses MP3TranscoderBin's methods.
svn path=/trunk/; revision=756
Zeeshan Ali (Khattak) [Sat, 28 Mar 2009 00:45:16 +0000 (00:45 +0000)]
Re-use const defined already to construct mime_type.
svn path=/trunk/; revision=755
Zeeshan Ali (Khattak) [Sat, 28 Mar 2009 00:45:11 +0000 (00:45 +0000)]
Move add_resources to base Transcoder class.
svn path=/trunk/; revision=754
Zeeshan Ali (Khattak) [Sat, 28 Mar 2009 00:45:06 +0000 (00:45 +0000)]
Remove unneeded args of Transcoder.create_resource().
Transcoder.create_resource() doesn't need to be passed 'mime_type' and
'dlna_profile' arguments anymore.
svn path=/trunk/; revision=753
Zeeshan Ali (Khattak) [Sat, 28 Mar 2009 00:45:01 +0000 (00:45 +0000)]
Implementations override Transcoder.create_resource.
svn path=/trunk/; revision=752
Zeeshan Ali (Khattak) [Sat, 28 Mar 2009 00:44:56 +0000 (00:44 +0000)]
Move create_resource() from TranscodeManager to Transcoder.
svn path=/trunk/; revision=751
Zeeshan Ali (Khattak) [Sat, 28 Mar 2009 00:44:50 +0000 (00:44 +0000)]
No need to mark TranscodeManager's methods 'internal'.
The public methods of an internal class are automatically internal.
svn path=/trunk/; revision=750
Zeeshan Ali (Khattak) [Sat, 28 Mar 2009 00:44:46 +0000 (00:44 +0000)]
MP2TSTranscoder supports both HD and SD.
svn path=/trunk/; revision=749
Zeeshan Ali (Khattak) [Sat, 28 Mar 2009 00:44:40 +0000 (00:44 +0000)]
Rename MP3Profile to MP3Layer.
svn path=/trunk/; revision=748
Zeeshan Ali (Khattak) [Sat, 28 Mar 2009 00:44:34 +0000 (00:44 +0000)]
Use dlna profile as transcoding target.
svn path=/trunk/; revision=747
Zeeshan Ali (Khattak) [Sat, 28 Mar 2009 00:44:29 +0000 (00:44 +0000)]
Require mainline gupnp-av.
svn path=/trunk/; revision=746
Zeeshan Ali (Khattak) [Sat, 28 Mar 2009 00:44:24 +0000 (00:44 +0000)]
No need to lie about DLNA profile anymore.
svn path=/trunk/; revision=745
Zeeshan Ali (Khattak) [Sat, 28 Mar 2009 00:44:19 +0000 (00:44 +0000)]
HTTServer and TranscodeManager are now 'internal'.
svn path=/trunk/; revision=744
Zeeshan Ali (Khattak) [Sat, 28 Mar 2009 00:44:13 +0000 (00:44 +0000)]
TranscodeManager provides Transcoder rather than transcoding source.
svn path=/trunk/; revision=743
Zeeshan Ali (Khattak) [Sat, 28 Mar 2009 00:44:07 +0000 (00:44 +0000)]
can_handle() can now also move to base Transcoder class.
svn path=/trunk/; revision=742
Zeeshan Ali (Khattak) [Sat, 28 Mar 2009 00:44:02 +0000 (00:44 +0000)]
'mime_type' and 'dlna_profile' are now props of base Transcoder.
svn path=/trunk/; revision=741
Zeeshan Ali (Khattak) [Sat, 28 Mar 2009 00:43:56 +0000 (00:43 +0000)]
Separate Transcoder and TranscoderBin classes.
* Divide Transcoder into two classes:
- public (internal) Transcoder
- The actual transcoder gstreamer bin.
svn path=/trunk/; revision=740
Zeeshan Ali (Khattak) [Sat, 28 Mar 2009 00:43:50 +0000 (00:43 +0000)]
Bump gstreamer requirement to latest git mainline (0.10.22.1).
svn path=/trunk/; revision=739
Zeeshan Ali (Khattak) [Sun, 22 Mar 2009 20:49:01 +0000 (20:49 +0000)]
Export duration for music and video items from Tracker.
Patch from Henrique Ferreiro García <henrique.ferreiro@gmail.com>.
svn path=/trunk/; revision=738
Zeeshan Ali (Khattak) [Sun, 22 Mar 2009 20:48:56 +0000 (20:48 +0000)]
Fix a typo that messed-up the Music titles.
Thanks to Henrique Ferreiro García <henrique.ferreiro@gmail.com> for
pointing it out.
svn path=/trunk/; revision=737
Zeeshan Ali (Khattak) [Sat, 21 Mar 2009 21:24:58 +0000 (21:24 +0000)]
Fix the typo and actually require libsoup >= 2.26.0.
svn path=/trunk/; revision=736
Zeeshan Ali (Khattak) [Sat, 21 Mar 2009 13:58:10 +0000 (13:58 +0000)]
Report the (hopefully) correct DLNA profile for mpeg 2 ts.
svn path=/trunk/; revision=735
Zeeshan Ali (Khattak) [Sat, 21 Mar 2009 13:58:05 +0000 (13:58 +0000)]
Scale the video to High Definition.
svn path=/trunk/; revision=734
Zeeshan Ali (Khattak) [Sat, 21 Mar 2009 13:58:00 +0000 (13:58 +0000)]
More information hiding by Transcoder classes.
No need to expose mimetype and dlna_profile etc but provide a can_handle()
method that reports wether the mime_type in question could be handled by
this transcoder.
svn path=/trunk/; revision=733
Zeeshan Ali (Khattak) [Sat, 21 Mar 2009 13:57:55 +0000 (13:57 +0000)]
Rename add_resource to add_resources.
svn path=/trunk/; revision=732
Zeeshan Ali (Khattak) [Sat, 21 Mar 2009 13:57:50 +0000 (13:57 +0000)]
Transcoder classes themselves add their resource.
svn path=/trunk/; revision=731
Zeeshan Ali (Khattak) [Sat, 21 Mar 2009 13:57:45 +0000 (13:57 +0000)]
List the L16 resource before the MP3 one.
svn path=/trunk/; revision=730
Zeeshan Ali (Khattak) [Sat, 21 Mar 2009 13:57:40 +0000 (13:57 +0000)]
No need for encoders to sync state with parent anymore.
svn path=/trunk/; revision=729
Zeeshan Ali (Khattak) [Sat, 21 Mar 2009 13:57:35 +0000 (13:57 +0000)]
Put the encoders in the bin at startup.
svn path=/trunk/; revision=728
Zeeshan Ali (Khattak) [Sat, 21 Mar 2009 13:57:30 +0000 (13:57 +0000)]
Just use Pad.can_link to check pad compatibility.
svn path=/trunk/; revision=727
Zeeshan Ali (Khattak) [Sat, 21 Mar 2009 13:57:25 +0000 (13:57 +0000)]
Add more metadata to "audio/L16" transcoding resource.
svn path=/trunk/; revision=726
Zeeshan Ali (Khattak) [Sat, 21 Mar 2009 13:57:20 +0000 (13:57 +0000)]
Replace add_resource with create_resource.
This change doesn't make sense on it's own but is only needed for the
next set of changes.
svn path=/trunk/; revision=725
Zeeshan Ali (Khattak) [Sat, 21 Mar 2009 13:57:15 +0000 (13:57 +0000)]
Refactor TranscodeManager.add_resources a bit more.
svn path=/trunk/; revision=724
Zeeshan Ali (Khattak) [Sat, 21 Mar 2009 13:57:09 +0000 (13:57 +0000)]
Add transcoder for "audio/L16" (LPCM in DLNA terms).
svn path=/trunk/; revision=723
Zeeshan Ali (Khattak) [Sat, 21 Mar 2009 13:57:04 +0000 (13:57 +0000)]
Refactor TranscodeManager.add_resources().
svn path=/trunk/; revision=722
Zeeshan Ali (Khattak) [Sat, 21 Mar 2009 13:56:59 +0000 (13:56 +0000)]
Use g_content_type_is_a to compare mimetypes.
svn path=/trunk/; revision=721
Zeeshan Ali (Khattak) [Sat, 21 Mar 2009 13:56:55 +0000 (13:56 +0000)]
Generalize gst element creation in base transcoder.
svn path=/trunk/; revision=720
Zeeshan Ali (Khattak) [Sat, 21 Mar 2009 13:56:49 +0000 (13:56 +0000)]
Correct indention of Transcoder classes.
svn path=/trunk/; revision=719
Zeeshan Ali (Khattak) [Sat, 21 Mar 2009 13:56:44 +0000 (13:56 +0000)]
Put the audioresample before audio encoder, just in case.
svn path=/trunk/; revision=718
Zeeshan Ali (Khattak) [Sat, 21 Mar 2009 13:56:39 +0000 (13:56 +0000)]
Explicitly require and link to libsoup-2.4 >= 2.26.0.
svn path=/trunk/; revision=717
Zeeshan Ali (Khattak) [Sat, 21 Mar 2009 13:56:34 +0000 (13:56 +0000)]
LiveResponse should use EOF encoding rather than CHUNKED.
Many media players and renderers seem to be unable to handle CHUNKED
encoding so this patch should take away from them one excuse to fail.
svn path=/trunk/; revision=716
Zeeshan Ali (Khattak) [Sat, 21 Mar 2009 13:56:29 +0000 (13:56 +0000)]
Transcoder classes dictate the mimetype and DLNA profile.
svn path=/trunk/; revision=715
Zeeshan Ali (Khattak) [Sat, 21 Mar 2009 13:56:23 +0000 (13:56 +0000)]
A base class for Transcoder elements.
svn path=/trunk/; revision=714
Zeeshan Ali (Khattak) [Sat, 21 Mar 2009 13:56:18 +0000 (13:56 +0000)]
No need to keep check_pad_compatible static.
Just inline it in both classes for now, we'll move it to common
baseclass when we have that.
svn path=/trunk/; revision=713
Zeeshan Ali (Khattak) [Sat, 21 Mar 2009 13:56:14 +0000 (13:56 +0000)]
No need for mpegvideoparse.
svn path=/trunk/; revision=712
Zeeshan Ali (Khattak) [Sat, 21 Mar 2009 13:56:09 +0000 (13:56 +0000)]
Prepend a videorate to the video encoder bin.
svn path=/trunk/; revision=711
Zeeshan Ali (Khattak) [Sat, 21 Mar 2009 13:56:04 +0000 (13:56 +0000)]
Add colorspace and parser elements to video encoding part of pipeline.
svn path=/trunk/; revision=710
Zeeshan Ali (Khattak) [Sat, 21 Mar 2009 13:56:00 +0000 (13:56 +0000)]
Intersect the caps of the pads to check their compatibility.
svn path=/trunk/; revision=709
Zeeshan Ali (Khattak) [Sat, 21 Mar 2009 13:55:54 +0000 (13:55 +0000)]
Don't trust get_compatible_pad() in MP3Transcoder either.
svn path=/trunk/; revision=708
Zeeshan Ali (Khattak) [Sat, 21 Mar 2009 13:55:50 +0000 (13:55 +0000)]
Don't trust Gst.Element.get_compatible_pad().
svn path=/trunk/; revision=707
Zeeshan Ali (Khattak) [Sat, 21 Mar 2009 13:55:44 +0000 (13:55 +0000)]
Remove now unneeded contsants.
svn path=/trunk/; revision=706
Zeeshan Ali (Khattak) [Sat, 21 Mar 2009 13:55:39 +0000 (13:55 +0000)]
MP3Transcoder.create_encoder can be dictated names for pads.
svn path=/trunk/; revision=705
Zeeshan Ali (Khattak) [Sat, 21 Mar 2009 13:55:33 +0000 (13:55 +0000)]
Correct a typo.
svn path=/trunk/; revision=704
Zeeshan Ali (Khattak) [Sat, 21 Mar 2009 13:55:29 +0000 (13:55 +0000)]
MP2TSTranscoder uses MP3Transcoder.create_encoder.
To avoid some code-duplication.
svn path=/trunk/; revision=703
Zeeshan Ali (Khattak) [Sat, 21 Mar 2009 13:55:24 +0000 (13:55 +0000)]
Rename MP3Transcoder.create_audio_encoder to create_encoder.
svn path=/trunk/; revision=702
Zeeshan Ali (Khattak) [Sat, 21 Mar 2009 13:55:19 +0000 (13:55 +0000)]
Turn MP3Transcoder.create_audio_encoder 'internal static'.
This is to allow the other transcoder classes to be able to use the same
audio encoder pipeline.
svn path=/trunk/; revision=701
Zeeshan Ali (Khattak) [Sat, 21 Mar 2009 13:55:14 +0000 (13:55 +0000)]
Use enum to identify mpeg audio layers, rather than integer.
svn path=/trunk/; revision=700
Zeeshan Ali (Khattak) [Sat, 21 Mar 2009 13:55:10 +0000 (13:55 +0000)]
Clever use of arrays to create appropriate encoder.
svn path=/trunk/; revision=699
Zeeshan Ali (Khattak) [Sat, 21 Mar 2009 13:55:05 +0000 (13:55 +0000)]
Convert MP2Transcoder into a more generic mpeg audio transcoder.
Convert MP2Transcoder into mpeg audio (layer 2 and 3) transcoder.
svn path=/trunk/; revision=698
Zeeshan Ali (Khattak) [Sat, 21 Mar 2009 13:55:01 +0000 (13:55 +0000)]
Use an mp3 parser.
svn path=/trunk/; revision=697
Zeeshan Ali (Khattak) [Sat, 21 Mar 2009 13:54:56 +0000 (13:54 +0000)]
Escape the transcode target string before putting it in the URI.
svn path=/trunk/; revision=696
Zeeshan Ali (Khattak) [Sat, 21 Mar 2009 13:54:51 +0000 (13:54 +0000)]
Audio encoder can be added to the bin earlier.
No need to wait for decodebin pad availability before audio encoder could
be added to the bin.
svn path=/trunk/; revision=695
Zeeshan Ali (Khattak) [Sat, 21 Mar 2009 13:54:46 +0000 (13:54 +0000)]
Give src pad of audio encoder bin a name.
Give src pad of audio encoder bin a name and use that to retreive it.
svn path=/trunk/; revision=694
Zeeshan Ali (Khattak) [Sat, 21 Mar 2009 13:54:40 +0000 (13:54 +0000)]
Use MP2Transcoder for "audio/mpeg" transcoding requests.
svn path=/trunk/; revision=693
Zeeshan Ali (Khattak) [Sat, 21 Mar 2009 13:54:35 +0000 (13:54 +0000)]
Provide "audio/mpeg" transcode uri for music items.
svn path=/trunk/; revision=692
Zeeshan Ali (Khattak) [Sat, 21 Mar 2009 13:54:30 +0000 (13:54 +0000)]
Add MP2Transcoder.
A new transcoding class for transcoding to mp2 audio.
svn path=/trunk/; revision=691
Zeeshan Ali (Khattak) [Sat, 21 Mar 2009 13:54:24 +0000 (13:54 +0000)]
Rename TranscodeSrc to MP2TSTranscoder.
svn path=/trunk/; revision=690
Zeeshan Ali (Khattak) [Sun, 15 Mar 2009 19:03:41 +0000 (19:03 +0000)]
Don't create transcode resource if not needed.
svn path=/trunk/; revision=689
Zeeshan Ali (Khattak) [Sun, 15 Mar 2009 19:03:36 +0000 (19:03 +0000)]
TranscodeManager creates the transcode source for us.
svn path=/trunk/; revision=688
Zeeshan Ali (Khattak) [Sun, 15 Mar 2009 19:03:32 +0000 (19:03 +0000)]
HTTPRequest keeps a unowned ref to HTTPServer.
svn path=/trunk/; revision=687
Zeeshan Ali (Khattak) [Sun, 15 Mar 2009 19:03:27 +0000 (19:03 +0000)]
TranscodeManager.create_uri_for_item() tells the protocol.
svn path=/trunk/; revision=686
Zeeshan Ali (Khattak) [Sun, 15 Mar 2009 19:03:22 +0000 (19:03 +0000)]
Add TranscodeManager.
Put the transcode-related code from HTTPServer to a separate baseclass.
svn path=/trunk/; revision=685
Zeeshan Ali (Khattak) [Sun, 15 Mar 2009 19:03:18 +0000 (19:03 +0000)]
Rename create_http_uri_for_item to create_uri_for_item.
svn path=/trunk/; revision=684
Zeeshan Ali (Khattak) [Sun, 15 Mar 2009 19:03:13 +0000 (19:03 +0000)]
Rename *resouce_list* to *resources*.
svn path=/trunk/; revision=683
Zeeshan Ali (Khattak) [Sun, 15 Mar 2009 19:03:08 +0000 (19:03 +0000)]
Add HTTP resources to the existing list.
Add HTTP resources to the existing list rather than creating a new list.
svn path=/trunk/; revision=682
Zeeshan Ali (Khattak) [Sun, 15 Mar 2009 19:03:04 +0000 (19:03 +0000)]
Only HTTP proxy res don't get exported if HTTP uri already exist.
svn path=/trunk/; revision=681
Zeeshan Ali (Khattak) [Sun, 15 Mar 2009 19:02:59 +0000 (19:02 +0000)]
Mark transcoded resource as one in DLNA fields.
svn path=/trunk/; revision=680
Zeeshan Ali (Khattak) [Sun, 15 Mar 2009 19:02:54 +0000 (19:02 +0000)]
Minor optimization.
No need to keep checking if transcode_target is null.
svn path=/trunk/; revision=679
Zeeshan Ali (Khattak) [Sun, 15 Mar 2009 19:02:49 +0000 (19:02 +0000)]
Set the correct mimetype on transcode URI request.
svn path=/trunk/; revision=678
Zeeshan Ali (Khattak) [Sun, 15 Mar 2009 19:02:44 +0000 (19:02 +0000)]
Another indentation fix.
svn path=/trunk/; revision=677
Zeeshan Ali (Khattak) [Sun, 15 Mar 2009 19:02:39 +0000 (19:02 +0000)]
Print URI and method for each request on debug console.
svn path=/trunk/; revision=676
Zeeshan Ali (Khattak) [Sun, 15 Mar 2009 19:02:35 +0000 (19:02 +0000)]
Add the pads to the audio bin rather than TransodeSrc.
svn path=/trunk/; revision=675
Zeeshan Ali (Khattak) [Sun, 15 Mar 2009 19:02:31 +0000 (19:02 +0000)]
Ghost audio encoder's src pad as well.
svn path=/trunk/; revision=674