From bc99092@sac.sfbay.sun.com Wed Mar 25 21:25:01 2009
Received: from sunmail4.singapore.sun.com (sunmail4.Singapore.Sun.COM [129.158.71.19])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id n2Q4P0ft023974
	for <LSARC-ext@sac.sfbay.sun.com>; Wed, 25 Mar 2009 21:25:00 -0700 (PDT)
Received: from nwk-avmta-1.SFBay.Sun.COM (nwk-avmta-1.SFBay.Sun.COM [129.146.11.74])
	by sunmail4.singapore.sun.com (8.13.4+Sun/8.13.3/ENSMAIL,v2.2) with ESMTP id n2Q4OrBH021683;
	Thu, 26 Mar 2009 12:24:59 +0800 (SGT)
Received: from pmxchannel-daemon.nwk-avmta-1.sfbay.Sun.COM by
 nwk-avmta-1.sfbay.Sun.COM
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0KH300G07IXLH300@nwk-avmta-1.sfbay.Sun.COM>; Wed,
 25 Mar 2009 21:24:57 -0700 (PDT)
Received: from dm-sfbay-01.sfbay.sun.com ([129.145.155.118])
 by nwk-avmta-1.sfbay.Sun.COM
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0KH300DO6IXLYFA0@nwk-avmta-1.sfbay.Sun.COM>; Wed,
 25 Mar 2009 21:24:57 -0700 (PDT)
Received: from sac.sfbay.sun.com (sac.SFBay.Sun.COM [129.146.226.132])
	by dm-sfbay-01.sfbay.sun.com (8.13.8+Sun/8.13.8/ENSMAIL,v2.2)
 with ESMTP id n2Q4OtNO023023; Wed, 25 Mar 2009 21:24:55 -0700 (PDT)
Received: from sac.sfbay.sun.com (localhost [127.0.0.1])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id n2Q4OsSQ023969; Wed,
 25 Mar 2009 21:24:54 -0700 (PDT)
Received: (from bc99092@localhost)
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8/Submit) id n2Q4OsVj023965; Wed,
 25 Mar 2009 21:24:54 -0700 (PDT)
Date: Wed, 25 Mar 2009 21:24:54 -0700 (PDT)
From: Brian Cameron <bc99092@sac.sfbay.sun.com>
Subject: Coherence [LSARC/2009/199 FastTrack timeout 04/08/2009]
To: LSARC-ext@sun.com
Cc: Alfred.Peng@sun.com, desktop-discuss@opensolaris.org
Message-id: <200903260424.n2Q4OsVj023965@sac.sfbay.sun.com>
Content-transfer-encoding: 7BIT
X-PMX-Version: 5.4.1.325704
Status: RO
Content-Length: 9251


Template Version: @(#)sac_nextcase 1.68 02/23/09 SMI
This information is Copyright 2009 Sun Microsystems
1. Introduction
    1.1. Project/Component Working Name:
	 Coherence
    1.2. Name of Document Author/Supplier:
	 Author:  Alfred Peng
    1.3  Date of This Document:
	25 March, 2009
4. Technical Description
Copyright 2009 Sun Microsystems

1. Introduction
    1.1. Project/Component Working Name:

        Coherence

    1.2. Name of Document Author/Supplier:

        Alfred Peng

    1.3. Date of This Document:

        03/13/2009

        1.3.1. Date this project was conceived:

            07/12/2007

    1.4. Name of Major Document Customer(s)/Consumer(s):

        1.4.1. The PAC or CPT you expect to review your project:

            Solaris PAC

        1.4.2. The ARC(s) you expect to review your project:

            LSARC

        1.4.3. The Director/VP who is "Sponsoring" this project:

            robert.odea@sun.com

        1.4.4. The name of your business unit:

            New Solaris Group, Desktop

    1.5. Email Aliases:

        1.5.1. Responsible Manager:

            leo.binchy@sun.com

        1.5.2. Responsible Engineer:

            alfred.peng@sun.com

        1.5.3. Marketing Manager:

            glynn.foster@sun.com

        1.5.4. Interest List:

            desktop-discuss@opensolaris.org

4. Technical Description:
    4.1. Details:
        Coherence is a DLNA (Digital Living Network Alliance)/UPnP (Universal
        Plug and Play) Framework written in Python for the Digital Living.

        The goals of UPnP are to allow devices to connect seamlessly and to
        simplify the implementation of networks in the home (data sharing,
        communications, and entertainment) and in corporate environments for
        simplified installation of computer components. With the UPnP framework,
        users can setup their home media center with PCs, wireless devices
        (mobile phones, tablet PCs etc.) and networked appliances (TVs, audio
        players, multimedia players, games consoles etc.)[2].

        Coherence is divided into three main parts: the core, the virtual
        devices, and the device backends[3]. The core of coherence provides an
        implementation of: a SSDP (Simple Service Discovery Protocol) [4]
        server, a MSEARCH (command to find other devices connected to the
        UPnP network) client to find other devices connected to the network,
        server and client for HTTP/SOAP requests, server and client for Event
        Subscription and Notification.

        The virtual devices contain: Media Server to provide media content
        (local storage or online services) and directory information,
        Media Renderer to play back media content provided by the Media Server,
        Control Point to interconnect Media Server and Media Renderer. The
        virtual device implementation registers with the core, declares which
        service interfaces it is using, and attaches callbacks which map the
        service actions to its backend. It's generally a translation map
        between the core and the device backend.

        The device backend is the part to host, render and control the media
        files. The following components could act as the device backend: file
        systems to store the media files, audio/video hardware and desktop GUI
        applications to render the media content and control the playback.

        For users, coherence can be used in conjunction with Rhythmbox, Totem or
        Elisa, and become a controllable DLNA/UPnP Media Renderer. For example,
        coherence is used in Elisa to talk with the Apple Movie trailer Media
        Server for its Movie trailer plugin and YouTube Media Server for its
        YouTube plugin. Coherence can also be configured as a DLNA/UPnP Media
        Server and exports local and remote media files via its backend to
        other UPnP clients.

        Developers get a python framework with an emerging DBus API. This
        framework is designed to automate all UPnP-related tasks as much as
        possible and enable applications to participate in digital living
        networks.

        In short, coherence provides two main features to the system:
        - Interfaces so that programs like elisa, rhythmbox, totem, etc. can
          act as Media Renderer/Control Point and connect to the UPnP servers
          on the internet.
        - Interfaces so that an UPnP Media Server can be set up on the system.

    4.2. Bug/RFE Number(s):

        None.

    4.3. In Scope:

        See above.

    4.4. Out of Scope:

        See above.
    
    4.5. Interfaces:

                               Exported  Interface
        --------------------------------------------------------------------
        Interface Name                     Classification   Comment
        --------------------------------------------------------------------
        SUNWpython-coherence               Uncommitted      Package name
        /usr/bin/coherence                 Volatile         Coherence CLI to
                                                            start the server
        $HOME/.coherence                   Private          Config file
        /usr/lib/python2.4/vendor-packages/Coherence*.egg-info
                                           Uncommitted      Python egg files
        /usr/lib/python2.4/vendor-packages/coherence
                                           Uncommitted      Python API
        /usr/lib/python2.6/vendor-packages/Coherence*.egg-info
                                           Uncommitted      Python egg files
        /usr/lib/python2.6/vendor-packages/coherence
                                           Uncommitted      Python API


                               Imported  Interface
        --------------------------------------------------------------------
        Interface          Classification   Comment
        --------------------------------------------------------------------
        Python             External         PSARC/2005/532 Python
                           Evolving         Migration from /usr/sfw to /usr
                                            and upgrade to v2.4.x 
        Python 2.6         Uncommitted      PSARC/2009/043
        Python Twisted     Uncommitted      PSARC/2008/121
        Python Setuptools  Uncommitted      PSARC/2008/084

    4.6. Doc Impact:

        coherence.1
    
    4.7. Admin/Config Impact:

        Coherence looks for the configuration file named .coherence in $HOME by
        default during server startup. Alternatively with the option
        -c|--configfile the location of the configuration file can be passed.
        In the configuration file, the following parameters can be specified:
        log level, log file, interface definition for systems with more than
        one physical interface, serverport tells coherence the port to listen
        on and the plugins that will be activated.

        The configuration options can be also passed to coherence through
        commandline during startup. If no configuration is specified, the
        default value will be used for coherence server.
    
    4.8. HA Impact:

        None.
    
    4.9. I18N/L10N Impact:

        The JDS team and the G11N team are working together to evaluate and
        provide I18N/L10N support.
    
    4.10. Packaging & Delivery:

        Adds new package, SUNWpython-coherence.
    
    4.11. Security Impact:

        Coherence implements the functions to download https page to a
        string/file by importing the Python Twisted ssl module via
        twisted.internet.

        The security concern for UPnP is the lack of device authentication,
        especially for Internet gateway devices[5]. Coherence doesn't provide
        an Internet gateway device implementation now. It's designed to work
        in the home network. The media files won't be propagate to the Internet
        through multicast. When installed on a gateway, the media files are
        reachable from the outside via http.

    4.12. Dependencies:

        The following versions of the imported interfaces are required:

        Python 2.4.x
        Python 2.6
        Python Twisted
        Python Setuptools

5. Reference Documents:

    [1] Coherence homepage:
    http://coherence.beebits.net/

    [2] The DLNA/UPnP devices supported by Coherence:
    http://coherence.beebits.net/wiki/SupportedDevices

    [3] Coherence architectural overview:
    http://coherence.beebits.net/wiki/ArchitecturalOverview

    [4] SSDP:
    http://en.wikipedia.org/wiki/Simple_Service_Discovery_Protocol

    [5] UPnP security concern:
    http://en.wikipedia.org/wiki/Universal_Plug_and_Play#Lack_of_Default_Authentication

    [6] Related ARC cases:
        PSARC/2005/532: Python migration from /usr/sfw to /usr
                        and upgrade to v2.4.x
        PSARC/2008/121: Python Twisted
        PSARC/2008/084: Python Setuptools
        PSARC/2009/043: Python 2.6

6. Resources and Schedule
    6.4. Steering Committee requested information
   	6.4.1. Consolidation C-team Name:
		Desktop
    6.5. ARC review type: FastTrack
    6.6. ARC Exposure: open


From Darren.Moffat@sun.com Thu Mar 26 02:29:12 2009
Received: from newsunmail1brm.central.sun.com (newsunmail1brm.Central.Sun.COM [129.147.62.245])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id n2Q9TB5Q000876
	for <LSARC-ext@sac.sfbay.sun.com>; Thu, 26 Mar 2009 02:29:12 -0700 (PDT)
Received: from nwk-avmta-1.SFBay.Sun.COM (nwk-avmta-1.SFBay.Sun.COM [129.146.11.74])
	by newsunmail1brm.central.sun.com (8.13.7+Sun/8.13.7/ENSMAIL,v2.2) with ESMTP id n2Q9TBpv023955
	for <@sunmail2sca.sfbay.sun.com:LSARC-ext@sun.com>; Thu, 26 Mar 2009 03:29:11 -0600 (MDT)
Received: from pmxchannel-daemon.nwk-avmta-1.sfbay.Sun.COM by
 nwk-avmta-1.sfbay.Sun.COM
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0KH30090NX0MYP00@nwk-avmta-1.sfbay.Sun.COM> for LSARC-ext@sun.com
 (ORCPT LSARC-ext@sun.com); Thu, 26 Mar 2009 02:29:10 -0700 (PDT)
Received: from gmp-eb-inf-2.sun.com ([192.18.6.24])
 by nwk-avmta-1.sfbay.Sun.COM
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0KH3007E2X0KUJ20@nwk-avmta-1.sfbay.Sun.COM> for
 LSARC-ext@sun.com (ORCPT LSARC-ext@sun.com); Thu,
 26 Mar 2009 02:29:09 -0700 (PDT)
Received: from fe-emea-10.sun.com (gmp-eb-lb-2-fe2.eu.sun.com [192.18.6.11])
	by gmp-eb-inf-2.sun.com (8.13.7+Sun/8.12.9) with ESMTP id n2Q9T8W9000295	for
 <LSARC-ext@sun.com>; Thu, 26 Mar 2009 09:29:08 +0000 (GMT)
Received: from conversion-daemon.fe-emea-10.sun.com by fe-emea-10.sun.com
 (Sun Java(tm) System Messaging Server 7.0-5.01 64bit (built Feb 19 2009))
 id <0KH300300WMBN300@fe-emea-10.sun.com> for LSARC-ext@sun.com
 (ORCPT LSARC-ext@sun.com); Thu, 26 Mar 2009 09:29:07 +0000 (GMT)
Received: from [129.156.173.21] ([unknown] [129.156.173.21])
 by fe-emea-10.sun.com
 (Sun Java(tm) System Messaging Server 7.0-5.01 64bit (built Feb 19 2009))
 with ESMTPSA id <0KH300AEKX09RT00@fe-emea-10.sun.com>; Thu,
 26 Mar 2009 09:29:02 +0000 (GMT)
Date: Thu, 26 Mar 2009 09:28:57 +0000
From: Darren J Moffat <Darren.Moffat@sun.com>
Subject: Re: Coherence [LSARC/2009/199 FastTrack timeout 04/08/2009]
In-reply-to: <200903260424.n2Q4OsVj023965@sac.sfbay.sun.com>
Sender: Darren.Moffat@sun.com
To: Brian Cameron <bc99092@sac.sfbay.sun.com>
Cc: LSARC-ext@sun.com, Alfred.Peng@sun.com, desktop-discuss@opensolaris.org
Message-id: <49CB4AD9.2020206@Sun.COM>
MIME-version: 1.0
Content-type: text/plain; format=flowed; charset=ISO-8859-1
Content-transfer-encoding: 7BIT
X-PMX-Version: 5.4.1.325704
References: <200903260424.n2Q4OsVj023965@sac.sfbay.sun.com>
User-Agent: Thunderbird 2.0.0.18 (X11/20081201)
Status: RO
Content-Length: 894

First I have to say I very happy that a case covering UPnP/DLNA is up 
for review.

I'm familar with mediatomb (which is in the pkg.opensolaris.org/pending 
repo already) and ushare UPnP/DLNA servers but not Coherence.

I understand that Coherence is a framework, but what UPnP/DLNA services 
will OpenSolaris actually have when this project integrates ?  Will 
Rhythmbox, Totem use Coherence automatically or is redelivering them 
built to do so another case ?  Is there a case planned to deliver Elisa ?

Given that there is the ability for Coherence to act as a UPnP/DLNA 
server should this case deliver an SMF manifest for that ?

Can Coherence do transcoding (when acting as a server) if suitable media 
manipulation libraries are available ?  mediatomb can do this but 
requires ffmpeg libraries to do so.

Is there any relationship between Coherence and gstreamer ?

--
Darren J Moffat

From Alfred.Peng@sun.com Thu Mar 26 06:01:53 2009
Received: from newsunmail1brm.central.sun.com (newsunmail1brm.Central.Sun.COM [129.147.62.245])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id n2QD1rmB008390
	for <LSARC-ext@sac.sfbay.sun.com>; Thu, 26 Mar 2009 06:01:53 -0700 (PDT)
Received: from nwk-avmta-2.sfbay.sun.com (nwk-avmta-2.SFBay.Sun.COM [129.145.155.6])
	by newsunmail1brm.central.sun.com (8.13.7+Sun/8.13.7/ENSMAIL,v2.2) with ESMTP id n2QD1mp0014170
	for <@sunmail2sca.sfbay.sun.com:LSARC-ext@sun.com>; Thu, 26 Mar 2009 07:01:53 -0600 (MDT)
Received: from pmxchannel-daemon.nwk-avmta-2.sfbay.sun.com by
 nwk-avmta-2.sfbay.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0KH400A056V3S100@nwk-avmta-2.sfbay.sun.com> for LSARC-ext@sun.com
 (ORCPT LSARC-ext@sun.com); Thu, 26 Mar 2009 06:01:51 -0700 (PDT)
Received: from sineb-mail-2.sun.com ([192.18.19.7])
 by nwk-avmta-2.sfbay.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0KH40085M6UZP420@nwk-avmta-2.sfbay.sun.com> for
 LSARC-ext@sun.com (ORCPT LSARC-ext@sun.com); Thu,
 26 Mar 2009 06:01:51 -0700 (PDT)
Received: from fe-apac-05.sun.com
 (fe-apac-05.sun.com [192.18.19.176] (may be forged))
	by sineb-mail-2.sun.com (8.13.6+Sun/8.12.9) with ESMTP id n2QD1lnF013545	for
 <LSARC-ext@sun.com>; Thu, 26 Mar 2009 13:01:47 +0000 (GMT)
Received: from conversion-daemon.mail-apac.sun.com by mail-apac.sun.com
 (Sun Java(tm) System Messaging Server 7.0-5.01 64bit (built Feb 19 2009))
 id <0KH4006006P0TG00@mail-apac.sun.com> for LSARC-ext@sun.com
 (ORCPT LSARC-ext@sun.com); Thu, 26 Mar 2009 21:01:47 +0800 (SGT)
Received: from [172.22.184.128] ([unknown] [155.69.198.9])
 by mail-apac.sun.com (Sun Java(tm) System Messaging Server 7.0-5.01 64bit
 (built Feb 19 2009)) with ESMTPSA id <0KH400HDD6UYYUF0@mail-apac.sun.com>; Thu,
 26 Mar 2009 21:01:47 +0800 (SGT)
Date: Thu, 26 Mar 2009 21:02:08 +0800
From: Alfred Peng <Alfred.Peng@sun.com>
Subject: Re: Coherence [LSARC/2009/199 FastTrack timeout 04/08/2009]
In-reply-to: <49CB4AD9.2020206@Sun.COM>
Sender: Alfred.Peng@sun.com
To: Darren J Moffat <Darren.Moffat@sun.com>
Cc: Brian Cameron <bc99092@sac.sfbay.sun.com>, LSARC-ext@sun.com,
        desktop-discuss@opensolaris.org
Message-id: <49CB7CD0.6010803@sun.com>
MIME-version: 1.0
Content-type: text/plain; format=flowed; charset=ISO-8859-1
Content-transfer-encoding: 7BIT
X-PMX-Version: 5.4.1.325704
References: <200903260424.n2Q4OsVj023965@sac.sfbay.sun.com>
 <49CB4AD9.2020206@Sun.COM>
User-Agent: Thunderbird 2.0.0.19 (X11/20090306)
Status: RO
Content-Length: 2820

Hi Darren,

Thanks for the comments.

Darren J Moffat wrote:
> First I have to say I very happy that a case covering UPnP/DLNA is up 
> for review.
>
> I'm familar with mediatomb (which is in the 
> pkg.opensolaris.org/pending repo already) and ushare UPnP/DLNA servers 
> but not Coherence.
Not aware that mediatomb is already in /pending. Only know that the spec 
file is available in SFE (spec-files-extra). Will try that as well.
>
> I understand that Coherence is a framework, but what UPnP/DLNA 
> services will OpenSolaris actually have when this project integrates ? 
> Will Rhythmbox, Totem use Coherence automatically or is redelivering 
> them built to do so another case ?  Is there a case planned to deliver 
> Elisa ?
As it's mentioned in the ARC case, Coherence provides two main features 
to OpenSolaris:

- Interfaces so that programs like elisa, rhythmbox, totem, etc. can act 
as Media Renderer/Control Point and connect to the UPnP servers on the 
internet.

The UPnP servers here include the service providers such as 
Flickr/YouTube/TED/AppleTrailers etc. Elisa is already integrated into 
OpenSolaris 2009.06 b107 (LSARC/2008/713) and users can use Elisa's 
plugins to connect to the online servers through Coherence. The 
Coherence plugins for Rhythmbox and Totem aren't ready yet. I think the 
code will be moved to the source tree of Rhythmbox/Totem in the near 
future:

http://coherence.beebits.net/wiki/Totem
http://coherence.beebits.net/wiki/RhythmBox

- Interfaces so that a UPnP Media Server can be set up on the system.

By doing this, OpenSolaris can act as a UPnP/DLNA Media server to export 
local and remote media files to other UPnP clients.
> Given that there is the ability for Coherence to act as a UPnP/DLNA 
> server should this case deliver an SMF manifest for that ?
With Coherence, every uses can set up their own servers on the same box, 
no matter to expose the local files, or aggregate the media information 
from the Internet. The configuration file is necessary to customize the 
server. By default, Coherence will search for $HOME/.coherence. I'm not 
sure whether SMF can handle this one server for one user situation, or 
should we limit Coherence to be only one server on one box?
> Can Coherence do transcoding (when acting as a server) if suitable 
> media manipulation libraries are available ?  mediatomb can do this 
> but requires ffmpeg libraries to do so.
>
> Is there any relationship between Coherence and gstreamer ?
Thanks for pointing this out. Currently, Coherence implements a 
transcoder for local audio files (audio/mpeg, audio/ogg, audio/x-wav, 
audio/x-m4a etc.). Transcoding is done with a GStreamer pipeline and a 
custom sink that writes to a http request. So Coherence requires the 
GStreamer FFmpeg plug-in to do so.

Best Regards,
-Alfred

From Brian.Cameron@sun.com Thu Mar 26 07:57:27 2009
Received: from sunmail4.singapore.sun.com (sunmail4.Singapore.Sun.COM [129.158.71.19])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id n2QEvQZv016152
	for <LSARC-ext@sac.sfbay.sun.com>; Thu, 26 Mar 2009 07:57:27 -0700 (PDT)
Received: from brm-avmta-1.central.sun.com (brm-avmta-1.Central.Sun.COM [129.147.4.11])
	by sunmail4.singapore.sun.com (8.13.4+Sun/8.13.3/ENSMAIL,v2.2) with ESMTP id n2QEvNLm002659
	for <@sunmail2sca.sfbay.sun.com:LSARC-ext@sun.com>; Thu, 26 Mar 2009 22:57:25 +0800 (SGT)
Received: from pmxchannel-daemon.brm-avmta-1.central.sun.com by
 brm-avmta-1.central.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0KH400E05C7OP900@brm-avmta-1.central.sun.com> for LSARC-ext@sun.com
 (ORCPT LSARC-ext@Sun.COM); Thu, 26 Mar 2009 08:57:24 -0600 (MDT)
Received: from brmea-mail-1.sun.com ([192.18.98.31])
 by brm-avmta-1.central.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0KH400DFAC7OLU10@brm-avmta-1.central.sun.com> for
 LSARC-ext@sun.com (ORCPT LSARC-ext@Sun.COM); Thu,
 26 Mar 2009 08:57:24 -0600 (MDT)
Received: from fe-amer-09.sun.com ([192.18.109.79])
	by brmea-mail-1.sun.com (8.13.6+Sun/8.12.9) with ESMTP id n2QEvOFa005070	for
 <LSARC-ext@Sun.COM>; Thu, 26 Mar 2009 14:57:24 +0000 (GMT)
Received: from conversion-daemon.mail-amer.sun.com by mail-amer.sun.com
 (Sun Java(tm) System Messaging Server 7.0-5.01 64bit (built Feb 19 2009))
 id <0KH400H00B8XCA00@mail-amer.sun.com> for LSARC-ext@Sun.COM
 (ORCPT LSARC-ext@Sun.COM); Thu, 26 Mar 2009 08:57:23 -0600 (MDT)
Received: from [10.0.0.3] ([unknown] [99.141.123.234])
 by mail-amer.sun.com (Sun Java(tm) System Messaging Server 7.0-5.01 64bit
 (built Feb 19 2009)) with ESMTPSA id <0KH400NBPC7E24C0@mail-amer.sun.com>; Thu,
 26 Mar 2009 08:57:15 -0600 (MDT)
Date: Thu, 26 Mar 2009 09:56:36 -0500
From: Brian Cameron <Brian.Cameron@sun.com>
Subject: Re: [desktop-discuss] Coherence [LSARC/2009/199 FastTrack timeout
 04/08/2009]
In-reply-to: <49CB7CD0.6010803@sun.com>
Sender: Brian.Cameron@sun.com
To: Alfred Peng <Alfred.Peng@sun.com>
Cc: Darren J Moffat <Darren.Moffat@sun.com>,
        Brian Cameron <bc99092@sac.sfbay.sun.com>, LSARC-ext@sun.com,
        desktop-discuss@opensolaris.org
Message-id: <49CB97A4.6090208@sun.com>
MIME-version: 1.0
Content-type: text/plain; format=flowed; charset=ISO-8859-1
Content-transfer-encoding: 7BIT
X-PMX-Version: 5.4.1.325704
References: <200903260424.n2Q4OsVj023965@sac.sfbay.sun.com>
 <49CB4AD9.2020206@Sun.COM> <49CB7CD0.6010803@sun.com>
User-Agent: Mozilla/5.0 (X11; U; SunOS i86pc; en-US; rv:1.9.1b3pre)
 Gecko/20090323 Thunderbird/3.0b2
Status: RO
Content-Length: 933


Alfred:

>> Is there any relationship between Coherence and gstreamer ?
> Thanks for pointing this out. Currently, Coherence implements a
> transcoder for local audio files (audio/mpeg, audio/ogg, audio/x-wav,
> audio/x-m4a etc.). Transcoding is done with a GStreamer pipeline and a
> custom sink that writes to a http request. So Coherence requires the
> GStreamer FFmpeg plug-in to do so.

What is the specific requirement that Coherence has on FFmpeg?  Please
explain.

Are you sure that this requirement can't be met via a non-FFmpeg
solution.  If coherence needs MPEG-2 or MPEG-4 support, or other
non-free media support, then I would think that the Fluendo plugins
would also work.

I wouldn't think there would be any special relationship between
coherence and GStreamer.  Aside from the fact that some media
programs like totem, rhythmbox and elisa pull data from UPnP
servers and play them via a GStreamer pipeline.

Brian

From Alfred.Peng@sun.com Thu Mar 26 10:06:00 2009
Received: from sunmail3mpk.sfbay.sun.com (sunmail3mpk.SFBay.Sun.COM [129.146.11.52])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id n2QH60cR015183
	for <LSARC-ext@sac.sfbay.sun.com>; Thu, 26 Mar 2009 10:06:00 -0700 (PDT)
Received: from nwk-avmta-2.sfbay.sun.com (nwk-avmta-2.SFBay.Sun.COM [129.145.155.6])
	by sunmail3mpk.sfbay.sun.com (8.13.7+Sun/8.13.7/ENSMAIL,v2.2) with ESMTP id n2QH5xWa018839
	for <@sunmail2sca.sfbay.sun.com:LSARC-ext@sun.com>; Thu, 26 Mar 2009 10:06:00 -0700 (PDT)
Received: from pmxchannel-daemon.nwk-avmta-2.sfbay.sun.com by
 nwk-avmta-2.sfbay.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0KH400N0DI5Z2T00@nwk-avmta-2.sfbay.sun.com> for LSARC-ext@sun.com
 (ORCPT LSARC-ext@Sun.COM); Thu, 26 Mar 2009 10:05:59 -0700 (PDT)
Received: from sineb-mail-2.sun.com ([192.18.19.7])
 by nwk-avmta-2.sfbay.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0KH400I6BI5VLJ80@nwk-avmta-2.sfbay.sun.com> for
 LSARC-ext@sun.com (ORCPT LSARC-ext@Sun.COM); Thu,
 26 Mar 2009 10:05:57 -0700 (PDT)
Received: from fe-apac-05.sun.com
 (fe-apac-05.sun.com [192.18.19.176] (may be forged))
	by sineb-mail-2.sun.com (8.13.6+Sun/8.12.9) with ESMTP id n2QH5tRm018918	for
 <LSARC-ext@Sun.COM>; Thu, 26 Mar 2009 17:05:55 +0000 (GMT)
Received: from conversion-daemon.mail-apac.sun.com by mail-apac.sun.com
 (Sun Java(tm) System Messaging Server 7.0-5.01 64bit (built Feb 19 2009))
 id <0KH400E00HZPZ500@mail-apac.sun.com> for LSARC-ext@Sun.COM
 (ORCPT LSARC-ext@Sun.COM); Fri, 27 Mar 2009 01:05:55 +0800 (SGT)
Received: from [192.168.1.71] ([unknown] [116.14.232.161])
 by mail-apac.sun.com (Sun Java(tm) System Messaging Server 7.0-5.01 64bit
 (built Feb 19 2009)) with ESMTPSA id <0KH400HISI5SYUJ0@mail-apac.sun.com>; Fri,
 27 Mar 2009 01:05:55 +0800 (SGT)
Date: Fri, 27 Mar 2009 01:06:14 +0800
From: Alfred Peng <Alfred.Peng@sun.com>
Subject: Re: [desktop-discuss] Coherence [LSARC/2009/199 FastTrack timeout
 04/08/2009]
In-reply-to: <49CB97A4.6090208@sun.com>
Sender: Alfred.Peng@sun.com
To: Brian Cameron <Brian.Cameron@sun.com>
Cc: Darren J Moffat <Darren.Moffat@sun.com>,
        Brian Cameron <bc99092@sac.sfbay.sun.com>, LSARC-ext@sun.com,
        desktop-discuss@opensolaris.org
Message-id: <49CBB606.70001@sun.com>
MIME-version: 1.0
Content-type: text/plain; format=flowed; charset=ISO-8859-1
Content-transfer-encoding: 7BIT
X-PMX-Version: 5.4.1.325704
References: <200903260424.n2Q4OsVj023965@sac.sfbay.sun.com>
 <49CB4AD9.2020206@Sun.COM> <49CB7CD0.6010803@sun.com>
 <49CB97A4.6090208@sun.com>
User-Agent: Thunderbird 2.0.0.19 (X11/20090306)
Status: RO
Content-Length: 2054

Hi Brian,

Brian Cameron wrote:
> Alfred:
>>> Is there any relationship between Coherence and gstreamer ?
>> Thanks for pointing this out. Currently, Coherence implements a
>> transcoder for local audio files (audio/mpeg, audio/ogg, audio/x-wav,
>> audio/x-m4a etc.). Transcoding is done with a GStreamer pipeline and a
>> custom sink that writes to a http request. So Coherence requires the
>> GStreamer FFmpeg plug-in to do so.
>
> What is the specific requirement that Coherence has on FFmpeg?  Please
> explain.
Coherence can do transcoding when it acts as a media server as this link 
points out: http://coherence.beebits.net/wiki/TransCoding. Please note 
that this document is out-of-date. I just did a search to the source 
code and the ChangeLog. Coherence has a gstreamer-based transcoder 
(untested) to do passthrough to MP4 (H264/aac). This can be used by 
AppleTrailers backend to transcode the movie trailers (video/mov?) to 
video/mp4.

The output of gst-inspect on my box shows that ffmpeg has the MPEG-4 
compatible video encoder/decoder. So I think GStreamer ffmpeg plugin 
could be one of the choices to do the transcoding for Coherence. Fluendo 
plugins might be another choice, but I can't confirm as I don't have the 
codecs on my box.
> Are you sure that this requirement can't be met via a non-FFmpeg
> solution.  If coherence needs MPEG-2 or MPEG-4 support, or other
> non-free media support, then I would think that the Fluendo plugins
> would also work.
Someone who has the fluendo codecs could help confirm this.
> I wouldn't think there would be any special relationship between
> coherence and GStreamer.  Aside from the fact that some media
> programs like totem, rhythmbox and elisa pull data from UPnP
> servers and play them via a GStreamer pipeline.
The Coherence transcoder depends on GStreamer as I can tell from the 
source code. And Coherence implements the transcoding via gst-python. 
Guess we'll have to include the ARC case gst-python (PSARC/2008/105) in 
the "Imported Interface" table.

Best Regards,
-Alfred

From Brian.Cameron@sun.com Thu Mar 26 10:22:24 2009
Received: from newsunmail1brm.central.sun.com (newsunmail1brm.Central.Sun.COM [129.147.62.245])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id n2QHMNUL016152
	for <LSARC-ext@sac.sfbay.sun.com>; Thu, 26 Mar 2009 10:22:23 -0700 (PDT)
Received: from nwk-avmta-1.SFBay.Sun.COM (nwk-avmta-1.SFBay.Sun.COM [129.146.11.74])
	by newsunmail1brm.central.sun.com (8.13.7+Sun/8.13.7/ENSMAIL,v2.2) with ESMTP id n2QHML8r018074
	for <@sunmail2sca.sfbay.sun.com:LSARC-ext@sun.com>; Thu, 26 Mar 2009 11:22:23 -0600 (MDT)
Received: from pmxchannel-daemon.nwk-avmta-1.sfbay.Sun.COM by
 nwk-avmta-1.sfbay.Sun.COM
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0KH400K0FIXACM00@nwk-avmta-1.sfbay.Sun.COM> for LSARC-ext@sun.com
 (ORCPT LSARC-ext@Sun.COM); Thu, 26 Mar 2009 10:22:22 -0700 (PDT)
Received: from brmea-mail-4.sun.com ([192.18.98.36])
 by nwk-avmta-1.sfbay.Sun.COM
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0KH400C6DIXABFB0@nwk-avmta-1.sfbay.Sun.COM> for
 LSARC-ext@sun.com (ORCPT LSARC-ext@Sun.COM); Thu,
 26 Mar 2009 10:22:22 -0700 (PDT)
Received: from fe-amer-09.sun.com ([192.18.109.79])
	by brmea-mail-4.sun.com (8.13.6+Sun/8.12.9) with ESMTP id n2QHMMI2029514	for
 <LSARC-ext@Sun.COM>; Thu, 26 Mar 2009 17:22:22 +0000 (GMT)
Received: from conversion-daemon.mail-amer.sun.com by mail-amer.sun.com
 (Sun Java(tm) System Messaging Server 7.0-5.01 64bit (built Feb 19 2009))
 id <0KH400400FZX5K00@mail-amer.sun.com> for LSARC-ext@Sun.COM
 (ORCPT LSARC-ext@Sun.COM); Thu, 26 Mar 2009 11:22:21 -0600 (MDT)
Received: from [10.0.0.3] ([unknown] [99.141.123.234])
 by mail-amer.sun.com (Sun Java(tm) System Messaging Server 7.0-5.01 64bit
 (built Feb 19 2009)) with ESMTPSA id <0KH4000DCIX2GX20@mail-amer.sun.com>; Thu,
 26 Mar 2009 11:22:15 -0600 (MDT)
Date: Thu, 26 Mar 2009 12:21:36 -0500
From: Brian Cameron <Brian.Cameron@sun.com>
Subject: Re: [desktop-discuss] Coherence [LSARC/2009/199 FastTrack timeout
 04/08/2009]
In-reply-to: <49CBB606.70001@sun.com>
Sender: Brian.Cameron@sun.com
To: Alfred Peng <Alfred.Peng@sun.com>
Cc: Darren J Moffat <Darren.Moffat@sun.com>,
        Brian Cameron <bc99092@sac.sfbay.sun.com>, LSARC-ext@sun.com,
        desktop-discuss@opensolaris.org
Message-id: <49CBB9A0.8050505@sun.com>
MIME-version: 1.0
Content-type: text/plain; format=flowed; charset=ISO-8859-1
Content-transfer-encoding: 7BIT
X-PMX-Version: 5.4.1.325704
References: <200903260424.n2Q4OsVj023965@sac.sfbay.sun.com>
 <49CB4AD9.2020206@Sun.COM> <49CB7CD0.6010803@sun.com>
 <49CB97A4.6090208@sun.com> <49CBB606.70001@sun.com>
User-Agent: Mozilla/5.0 (X11; U; SunOS i86pc; en-US; rv:1.9.1b3pre)
 Gecko/20090323 Thunderbird/3.0b2
Status: RO
Content-Length: 1312


Alfred:

Please test the Fluendo plugins and verify that programs like totem,
rhythmbox and elisa work well with them.  In a separate email, I
provided you information about how to test with Fluendo's plugins.
So, hopefully you can respond with the results after testing.

Also, make sure to remove FFmpeg from your system.  It's better
to use the Fluendo plugins than to use FFmpeg.

>> I wouldn't think there would be any special relationship between
>> coherence and GStreamer. Aside from the fact that some media
>> programs like totem, rhythmbox and elisa pull data from UPnP
>> servers and play them via a GStreamer pipeline.
> The Coherence transcoder depends on GStreamer as I can tell from the
> source code. And Coherence implements the transcoding via gst-python.
> Guess we'll have to include the ARC case gst-python (PSARC/2008/105) in
> the "Imported Interface" table.

I added this to the Imported interfaced table, and a comment to the end
of section 4.1 to explain the gst-python dependency.  I also updated
the package names in the Exported Interface table to highlight that
we will deliver Python 2.4 bindings in the SUNWpython24-coherence
package and the 2.6 bindings in the SUNWpython26-coherence package,
to be consistent with our normal package naming for Python modules.

Thanks,

Brian

From Alfred.Peng@Sun.COM Fri Mar 27 03:13:24 2009
Received: from sunmail5.uk.sun.com (sunmail5.UK.Sun.COM [129.156.85.165])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id n2RADOhu012832
	for <LSARC-ext@sac.sfbay.sun.com>; Fri, 27 Mar 2009 03:13:24 -0700 (PDT)
Received: from nwk-avmta-1.SFBay.Sun.COM (nwk-avmta-1.SFBay.Sun.COM [129.146.11.74])
	by sunmail5.uk.sun.com (8.13.8+Sun/8.13.8/ENSMAIL,v2.2) with ESMTP id n2RADM6L003916
	for <@sunmail2sca.sfbay.sun.com:LSARC-ext@sun.com>; Fri, 27 Mar 2009 10:13:23 GMT
Received: from pmxchannel-daemon.nwk-avmta-1.sfbay.Sun.COM by
 nwk-avmta-1.sfbay.Sun.COM
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0KH500D0XTQATZ00@nwk-avmta-1.sfbay.Sun.COM> for LSARC-ext@sun.com
 (ORCPT LSARC-ext@Sun.COM); Fri, 27 Mar 2009 03:13:22 -0700 (PDT)
Received: from sineb-mail-2.sun.com ([192.18.19.7])
 by nwk-avmta-1.sfbay.Sun.COM
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0KH500J3ZTQ8GAE0@nwk-avmta-1.sfbay.Sun.COM> for
 LSARC-ext@sun.com (ORCPT LSARC-ext@Sun.COM); Fri,
 27 Mar 2009 03:13:21 -0700 (PDT)
Received: from fe-apac-06.sun.com
 (fe-apac-06.sun.com [192.18.19.177] (may be forged))
	by sineb-mail-2.sun.com (8.13.6+Sun/8.12.9) with ESMTP id n2RADJIa003006	for
 <LSARC-ext@Sun.COM>; Fri, 27 Mar 2009 10:13:19 +0000 (GMT)
Received: from conversion-daemon.mail-apac.sun.com by mail-apac.sun.com
 (Sun Java(tm) System Messaging Server 7.0-5.01 64bit (built Feb 19 2009))
 id <0KH500400TJZRN00@mail-apac.sun.com> for LSARC-ext@Sun.COM
 (ORCPT LSARC-ext@Sun.COM); Fri, 27 Mar 2009 18:13:19 +0800 (SGT)
Received: from [192.168.1.71] ([unknown] [116.14.232.161])
 by mail-apac.sun.com (Sun Java(tm) System Messaging Server 7.0-5.01 64bit
 (built Feb 19 2009)) with ESMTPSA id <0KH500C1LTQ2FL20@mail-apac.sun.com>; Fri,
 27 Mar 2009 18:13:19 +0800 (SGT)
Date: Fri, 27 Mar 2009 18:13:38 +0800
From: Alfred Peng <Alfred.Peng@Sun.COM>
Subject: Re: [desktop-discuss] Coherence [LSARC/2009/199 FastTrack timeout
 04/08/2009]
In-reply-to: <49CBB9A0.8050505@sun.com>
Sender: Alfred.Peng@Sun.COM
To: Brian Cameron <Brian.Cameron@Sun.COM>
Cc: Darren J Moffat <Darren.Moffat@Sun.COM>,
        Brian Cameron <bc99092@sac.sfbay.sun.com>, LSARC-ext@Sun.COM,
        desktop-discuss@opensolaris.org
Message-id: <49CCA6D2.8050402@sun.com>
MIME-version: 1.0
Content-type: text/plain; format=flowed; charset=ISO-8859-1
Content-transfer-encoding: 7BIT
X-PMX-Version: 5.4.1.325704
References: <200903260424.n2Q4OsVj023965@sac.sfbay.sun.com>
 <49CB4AD9.2020206@Sun.COM> <49CB7CD0.6010803@sun.com>
 <49CB97A4.6090208@sun.com> <49CBB606.70001@sun.com> <49CBB9A0.8050505@sun.com>
User-Agent: Thunderbird 2.0.0.19 (X11/20090306)
Status: RO
Content-Length: 2507

Hi Brian,

I've tested the Fluendo plugins on my OpenSolaris box here with 
Totem/Rhythmbox/Elisa (removed the FFmpeg one). All of them work great 
with playing the audio/video streaming.

Need to do a correction for my last post about transcoding of Coherence. 
Coherence doesn't depend on the FFmpeg plugins of GStreamer. The current 
Coherence code implements mp4 transcoder, which depends on the qtdemux 
element of gst-plugins-good and h264parse/mp4mux elements of 
gst-plugins-bad 0.10.10. The GStremaer pipeline looks like "$file ! 
qtdemux name=d ! queue ! h264parse ! mp4mux name=mux d. ! queue ! mux.". 
As we can see, coherence doesn't do decoding/encoding, demux/mux are 
involved.

For audio transcoding, the GStreamer lame element was used. But all the 
audio transcoding part is disabled in the current code. I've sent email 
to the upstream community for further information.

Is it possible that Fluendo could provide similar codecs as h264parse 
(Parses raw h264 stream)/mp4mux (should be the part to mux the mp4 
audio/video) do? Are there any replacement for them?

Thanks for the updates for the one-pager.

Best Regards,
-Alfred

Brian Cameron wrote:
> Alfred:
>
> Please test the Fluendo plugins and verify that programs like totem,
> rhythmbox and elisa work well with them.  In a separate email, I
> provided you information about how to test with Fluendo's plugins.
> So, hopefully you can respond with the results after testing.
>
> Also, make sure to remove FFmpeg from your system.  It's better
> to use the Fluendo plugins than to use FFmpeg.
>
>>> I wouldn't think there would be any special relationship between
>>> coherence and GStreamer. Aside from the fact that some media
>>> programs like totem, rhythmbox and elisa pull data from UPnP
>>> servers and play them via a GStreamer pipeline.
>> The Coherence transcoder depends on GStreamer as I can tell from the
>> source code. And Coherence implements the transcoding via gst-python.
>> Guess we'll have to include the ARC case gst-python (PSARC/2008/105) in
>> the "Imported Interface" table.
>
> I added this to the Imported interfaced table, and a comment to the end
> of section 4.1 to explain the gst-python dependency.  I also updated
> the package names in the Exported Interface table to highlight that
> we will deliver Python 2.4 bindings in the SUNWpython24-coherence
> package and the 2.6 bindings in the SUNWpython26-coherence package,
> to be consistent with our normal package naming for Python modules. 

From Brian.Cameron@sun.com Fri Mar 27 11:04:28 2009
Received: from sunmail3mpk.sfbay.sun.com (sunmail3mpk.SFBay.Sun.COM [129.146.11.52])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id n2RI4Sjl008765
	for <LSARC-ext@sac.sfbay.sun.com>; Fri, 27 Mar 2009 11:04:28 -0700 (PDT)
Received: from nwk-avmta-1.SFBay.Sun.COM (nwk-avmta-1.SFBay.Sun.COM [129.146.11.74])
	by sunmail3mpk.sfbay.sun.com (8.13.7+Sun/8.13.7/ENSMAIL,v2.2) with ESMTP id n2RI4NPw007871
	for <@sunmail2sca.sfbay.sun.com:LSARC-ext@sun.com>; Fri, 27 Mar 2009 11:04:27 -0700 (PDT)
Received: from pmxchannel-daemon.nwk-avmta-1.sfbay.Sun.COM by
 nwk-avmta-1.sfbay.Sun.COM
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0KH60021HFJECW00@nwk-avmta-1.sfbay.Sun.COM> for LSARC-ext@sun.com
 (ORCPT LSARC-ext@Sun.COM); Fri, 27 Mar 2009 11:04:26 -0700 (PDT)
Received: from brmea-mail-4.sun.com ([192.18.98.36])
 by nwk-avmta-1.sfbay.Sun.COM
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0KH6006SMFJDMVC0@nwk-avmta-1.sfbay.Sun.COM> for
 LSARC-ext@sun.com (ORCPT LSARC-ext@Sun.COM); Fri,
 27 Mar 2009 11:04:26 -0700 (PDT)
Received: from fe-amer-09.sun.com ([192.18.109.79])
	by brmea-mail-4.sun.com (8.13.6+Sun/8.12.9) with ESMTP id n2RI4PVu013179	for
 <LSARC-ext@Sun.COM>; Fri, 27 Mar 2009 18:04:25 +0000 (GMT)
Received: from conversion-daemon.mail-amer.sun.com by mail-amer.sun.com
 (Sun Java(tm) System Messaging Server 7.0-5.01 64bit (built Feb 19 2009))
 id <0KH600M00EYSJZ00@mail-amer.sun.com> for LSARC-ext@Sun.COM
 (ORCPT LSARC-ext@Sun.COM); Fri, 27 Mar 2009 12:04:25 -0600 (MDT)
Received: from [129.153.250.142] ([unknown] [129.153.250.142])
 by mail-amer.sun.com
 (Sun Java(tm) System Messaging Server 7.0-5.01 64bit (built Feb 19 2009))
 with ESMTPSA id <0KH600ENGFJ6Y1E0@mail-amer.sun.com>; Fri,
 27 Mar 2009 12:04:20 -0600 (MDT)
Date: Fri, 27 Mar 2009 13:03:41 -0500
From: Brian Cameron <Brian.Cameron@sun.com>
Subject: Re: [desktop-discuss] Coherence [LSARC/2009/199 FastTrack timeout
 04/08/2009]
In-reply-to: <49CCA6D2.8050402@sun.com>
Sender: Brian.Cameron@sun.com
To: Alfred Peng <Alfred.Peng@sun.com>
Cc: Darren J Moffat <Darren.Moffat@sun.com>,
        Brian Cameron <bc99092@sac.sfbay.sun.com>, LSARC-ext@sun.com,
        desktop-discuss@opensolaris.org
Message-id: <49CD14FD.5070103@sun.com>
MIME-version: 1.0
Content-type: text/plain; format=flowed; charset=ISO-8859-1
Content-transfer-encoding: 7BIT
X-PMX-Version: 5.4.1.325704
References: <200903260424.n2Q4OsVj023965@sac.sfbay.sun.com>
 <49CB4AD9.2020206@Sun.COM> <49CB7CD0.6010803@sun.com>
 <49CB97A4.6090208@sun.com> <49CBB606.70001@sun.com> <49CBB9A0.8050505@sun.com>
 <49CCA6D2.8050402@sun.com>
User-Agent: Mozilla/5.0 (X11; U; SunOS i86pc; en-US; rv:1.9.1b3pre)
 Gecko/20090323 Thunderbird/3.0b2
Status: RO
Content-Length: 2629


Alfred:

> I've tested the Fluendo plugins on my OpenSolaris box here with
> Totem/Rhythmbox/Elisa (removed the FFmpeg one). All of them work great
> with playing the audio/video streaming.

Great, good to know.  I think most users will use these features of
coherence via programs like elisa, totem, and rhythmbox.

> Need to do a correction for my last post about transcoding of Coherence.
> Coherence doesn't depend on the FFmpeg plugins of GStreamer. The current
> Coherence code implements mp4 transcoder, which depends on the qtdemux
> element of gst-plugins-good and h264parse/mp4mux elements of
> gst-plugins-bad 0.10.10. The GStremaer pipeline looks like "$file !
> qtdemux name=d ! queue ! h264parse ! mp4mux name=mux d. ! queue ! mux.".
> As we can see, coherence doesn't do decoding/encoding, demux/mux are
> involved.
>
> For audio transcoding, the GStreamer lame element was used. But all the
> audio transcoding part is disabled in the current code. I've sent email
> to the upstream community for further information.

I assume that lame is used for MP3 encoding.  Obviously Solaris does
not provide any MP3 encoding support, and Fluendo does not yet sell any
MP3 encoder.  Therefore, I think any such support would be disabled in
Solaris by default.  One reason it might be disabled in the coherence
code is due to the fact that MP3 encoding is a non-free codec.

Is it possible to configure coherence audio encoding to use a free
format that is supported on Solaris, such as ogg-vorbis.  This might
not be useful for all users, but I'd think that coherence should provide
the option to encode audio in a free format.

> Is it possible that Fluendo could provide similar codecs as h264parse
> (Parses raw h264 stream)/mp4mux (should be the part to mux the mp4
> audio/video) do? Are there any replacement for them?

We first should discuss this with the GStreamer community to find out
if these plugins can be migrated to gst-plugins-good.  That would be
the normal process for getting new plugins integrated.  We could
consider patching GStreamer to add a plugin, however we first should
work with the external community to get the plugins ready for use.
Could you follow up with the GStreamer community and find out if there
is any way we could help get these plugins migrated to gst-plugins-good
or if there are any alternatives?

In other words, some features of coherence might be disabled unless
the user installs their own GStreamer plugins to enable the features.
And some of these features may have further licensing requirements
that users might need to address in order to use those features.

Brian

From Alfred.Peng@sun.com Mon Mar 30 02:51:43 2009
Received: from newsunmail1brm.central.sun.com (newsunmail1brm.Central.Sun.COM [129.147.62.245])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id n2U9phTS013174
	for <LSARC-ext@sac.sfbay.sun.com>; Mon, 30 Mar 2009 02:51:43 -0700 (PDT)
Received: from nwk-avmta-1.SFBay.Sun.COM (nwk-avmta-1.SFBay.Sun.COM [129.146.11.74])
	by newsunmail1brm.central.sun.com (8.13.7+Sun/8.13.7/ENSMAIL,v2.2) with ESMTP id n2U9pgZw035713
	for <@sunmail2sca.sfbay.sun.com:LSARC-ext@sun.com>; Mon, 30 Mar 2009 03:51:43 -0600 (MDT)
Received: from pmxchannel-daemon.nwk-avmta-1.sfbay.Sun.COM by
 nwk-avmta-1.sfbay.Sun.COM
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0KHB00D1VCQ6MV00@nwk-avmta-1.sfbay.Sun.COM> for LSARC-ext@sun.com
 (ORCPT LSARC-ext@sun.com); Mon, 30 Mar 2009 02:51:42 -0700 (PDT)
Received: from sineb-mail-2.sun.com ([192.18.19.7])
 by nwk-avmta-1.sfbay.Sun.COM
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0KHB002CACQ4I5B0@nwk-avmta-1.sfbay.Sun.COM> for
 LSARC-ext@sun.com (ORCPT LSARC-ext@sun.com); Mon,
 30 Mar 2009 02:51:41 -0700 (PDT)
Received: from fe-apac-06.sun.com
 (fe-apac-06.sun.com [192.18.19.177] (may be forged))
	by sineb-mail-2.sun.com (8.13.6+Sun/8.12.9) with ESMTP id n2U9peHt008721	for
 <LSARC-ext@sun.com>; Mon, 30 Mar 2009 09:51:40 +0000 (GMT)
Received: from conversion-daemon.mail-apac.sun.com by mail-apac.sun.com
 (Sun Java(tm) System Messaging Server 7.0-5.01 64bit (built Feb 19 2009))
 id <0KHB00000CP4RO00@mail-apac.sun.com> for LSARC-ext@sun.com
 (ORCPT LSARC-ext@sun.com); Mon, 30 Mar 2009 17:51:40 +0800 (SGT)
Received: from [172.22.168.237] ([unknown] [155.69.202.155])
 by mail-apac.sun.com
 (Sun Java(tm) System Messaging Server 7.0-5.01 64bit (built Feb 19 2009))
 with ESMTPSA id <0KHB00EWMCQ3ABA0@mail-apac.sun.com>; Mon,
 30 Mar 2009 17:51:40 +0800 (SGT)
Date: Mon, 30 Mar 2009 17:52:06 +0800
From: Alfred Peng <Alfred.Peng@sun.com>
Subject: Re: [desktop-discuss] Coherence [LSARC/2009/199 FastTrack timeout
 04/08/2009]
In-reply-to: <49CD14FD.5070103@sun.com>
Sender: Alfred.Peng@sun.com
To: Brian Cameron <Brian.Cameron@sun.com>
Cc: Darren J Moffat <Darren.Moffat@sun.com>,
        Brian Cameron <bc99092@sac.sfbay.sun.com>, LSARC-ext@sun.com,
        desktop-discuss@opensolaris.org
Message-id: <49D09646.5060202@sun.com>
MIME-version: 1.0
Content-type: text/plain; format=flowed; charset=ISO-8859-1
Content-transfer-encoding: 7BIT
X-PMX-Version: 5.4.1.325704
References: <200903260424.n2Q4OsVj023965@sac.sfbay.sun.com>
 <49CB4AD9.2020206@Sun.COM> <49CB7CD0.6010803@sun.com>
 <49CB97A4.6090208@sun.com> <49CBB606.70001@sun.com> <49CBB9A0.8050505@sun.com>
 <49CCA6D2.8050402@sun.com> <49CD14FD.5070103@sun.com>
User-Agent: Thunderbird 2.0.0.19 (X11/20090306)
Status: RO
Content-Length: 3746

Brian Cameron wrote:
>> Need to do a correction for my last post about transcoding of Coherence.
>> Coherence doesn't depend on the FFmpeg plugins of GStreamer. The current
>> Coherence code implements mp4 transcoder, which depends on the qtdemux
>> element of gst-plugins-good and h264parse/mp4mux elements of
>> gst-plugins-bad 0.10.10. The GStremaer pipeline looks like "$file !
>> qtdemux name=d ! queue ! h264parse ! mp4mux name=mux d. ! queue ! mux.".
>> As we can see, coherence doesn't do decoding/encoding, demux/mux are
>> involved.
>>
>> For audio transcoding, the GStreamer lame element was used. But all the
>> audio transcoding part is disabled in the current code. I've sent email
>> to the upstream community for further information.
>
> I assume that lame is used for MP3 encoding.  Obviously Solaris does
> not provide any MP3 encoding support, and Fluendo does not yet sell any
> MP3 encoder.  Therefore, I think any such support would be disabled in
> Solaris by default.  One reason it might be disabled in the coherence
> code is due to the fact that MP3 encoding is a non-free codec.
>
> Is it possible to configure coherence audio encoding to use a free
> format that is supported on Solaris, such as ogg-vorbis.  This might
> not be useful for all users, but I'd think that coherence should provide
> the option to encode audio in a free format.
Just got the response from Coherence author. The MP3 encoding part is 
only needed for XBox experiment and it's a quick hack. The coherence 
community will "sort out the proper elements to use in advance
and enable/disable transcoding pipelines accordingly". As for 
OpenSolaris, we can always disable the unsupported transcoding pipelines.

The proposal to use the free ogg vorbis/theora format has been sent out. 
As Mozilla community investigates big efforts on the open audio/video 
which makes use of ogg format for its HTML5 audio/video tag support, the 
ogg format is quite promising. It'll be good that coherence can support 
this option.
>> Is it possible that Fluendo could provide similar codecs as h264parse
>> (Parses raw h264 stream)/mp4mux (should be the part to mux the mp4
>> audio/video) do? Are there any replacement for them?
>
> We first should discuss this with the GStreamer community to find out
> if these plugins can be migrated to gst-plugins-good.  That would be
> the normal process for getting new plugins integrated.  We could
> consider patching GStreamer to add a plugin, however we first should
> work with the external community to get the plugins ready for use.
> Could you follow up with the GStreamer community and find out if there
> is any way we could help get these plugins migrated to gst-plugins-good
> or if there are any alternatives?
 From the coherence author, Coherence does audio transcoding only 
currently. The video pipeline was for testing purpose on PS3 and the 
video-transcoding part is still under development. Some cleanup will 
happen when it's released and "the availability of the needed elements 
will be checked in advance". It's not sure for now which gstreamer 
plugin elements will be used though.

I'd suggest to follow up with the upstream GStreamer community when the 
Coherence video transcoding is finalized. Will also keep the contact 
with coherence community. We can always disable some of the features in 
OpenSolaris if the gstreamer elements used aren't part of 
gst-plugins-good(base).
> In other words, some features of coherence might be disabled unless
> the user installs their own GStreamer plugins to enable the features.
> And some of these features may have further licensing requirements
> that users might need to address in order to use those features. 
Agreed.

Best Regards,
-Alfred

From Brian.Cameron@sun.com Mon Mar 30 08:59:53 2009
Received: from newsunmail1brm.central.sun.com (newsunmail1brm.Central.Sun.COM [129.147.62.245])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id n2UFxr05021672
	for <LSARC-ext@sac.sfbay.sun.com>; Mon, 30 Mar 2009 08:59:53 -0700 (PDT)
Received: from brm-avmta-1.central.sun.com (brm-avmta-1.Central.Sun.COM [129.147.4.11])
	by newsunmail1brm.central.sun.com (8.13.7+Sun/8.13.7/ENSMAIL,v2.2) with ESMTP id n2UFxGkB008994
	for <@sunmail2sca.sfbay.sun.com:LSARC-ext@sun.com>; Mon, 30 Mar 2009 09:59:52 -0600 (MDT)
Received: from pmxchannel-daemon.brm-avmta-1.central.sun.com by
 brm-avmta-1.central.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0KHB00A09TRSDC00@brm-avmta-1.central.sun.com> for LSARC-ext@sun.com
 (ORCPT LSARC-ext@sun.com); Mon, 30 Mar 2009 09:59:52 -0600 (MDT)
Received: from brmea-mail-1.sun.com ([192.18.98.31])
 by brm-avmta-1.central.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0KHB0007KTRRR690@brm-avmta-1.central.sun.com> for
 LSARC-ext@sun.com (ORCPT LSARC-ext@sun.com); Mon,
 30 Mar 2009 09:59:51 -0600 (MDT)
Received: from fe-amer-09.sun.com ([192.18.109.79])
	by brmea-mail-1.sun.com (8.13.6+Sun/8.12.9) with ESMTP id n2UFxpVK010521	for
 <LSARC-ext@sun.com>; Mon, 30 Mar 2009 15:59:51 +0000 (GMT)
Received: from conversion-daemon.mail-amer.sun.com by mail-amer.sun.com
 (Sun Java(tm) System Messaging Server 7.0-5.01 64bit (built Feb 19 2009))
 id <0KHB00700T369500@mail-amer.sun.com> for LSARC-ext@sun.com
 (ORCPT LSARC-ext@sun.com); Mon, 30 Mar 2009 09:59:51 -0600 (MDT)
Received: from [10.0.0.3] ([unknown] [99.141.123.234])
 by mail-amer.sun.com (Sun Java(tm) System Messaging Server 7.0-5.01 64bit
 (built Feb 19 2009)) with ESMTPSA id <0KHB0077WTRNWG10@mail-amer.sun.com>; Mon,
 30 Mar 2009 09:59:49 -0600 (MDT)
Date: Mon, 30 Mar 2009 10:59:11 -0500
From: Brian Cameron <Brian.Cameron@sun.com>
Subject: Re: [desktop-discuss] Coherence [LSARC/2009/199 FastTrack timeout
 04/08/2009]
In-reply-to: <49D09646.5060202@sun.com>
Sender: Brian.Cameron@sun.com
To: Alfred Peng <Alfred.Peng@sun.com>
Cc: Darren J Moffat <Darren.Moffat@sun.com>,
        Brian Cameron <bc99092@sac.sfbay.sun.com>, LSARC-ext@sun.com,
        desktop-discuss@opensolaris.org
Message-id: <49D0EC4F.2040204@sun.com>
MIME-version: 1.0
Content-type: text/plain; format=flowed; charset=ISO-8859-1
Content-transfer-encoding: 7BIT
X-PMX-Version: 5.4.1.325704
References: <200903260424.n2Q4OsVj023965@sac.sfbay.sun.com>
 <49CB4AD9.2020206@Sun.COM> <49CB7CD0.6010803@sun.com>
 <49CB97A4.6090208@sun.com> <49CBB606.70001@sun.com> <49CBB9A0.8050505@sun.com>
 <49CCA6D2.8050402@sun.com> <49CD14FD.5070103@sun.com>
 <49D09646.5060202@sun.com>
User-Agent: Mozilla/5.0 (X11; U; SunOS i86pc; en-US; rv:1.9.1b3pre)
 Gecko/20090323 Thunderbird/3.0b2
Status: RO
Content-Length: 2770


Alfred:

>> Is it possible to configure coherence audio encoding to use a free
>> format that is supported on Solaris, such as ogg-vorbis. This might
>> not be useful for all users, but I'd think that coherence should provide
>> the option to encode audio in a free format.
> Just got the response from Coherence author. The MP3 encoding part is
> only needed for XBox experiment and it's a quick hack. The coherence
> community will "sort out the proper elements to use in advance
> and enable/disable transcoding pipelines accordingly". As for
> OpenSolaris, we can always disable the unsupported transcoding pipelines.

It sounds like features like MP3 support are experimental and mainly to
support a different platform, Xbox.  So, I think it makes sense to just
not include such support on Solaris.

The nice thing about using GStreamer is that it provides a framework
where Sun can deliver all the free codecs, and users can get non-free
codecs support from Fluendo.

I would say most users would want to use coherence so that they can
access popular media services via totem, rhythmbox and elisa plugins.
Most such services use non-free media formats like MPEG-2, MPEG-4, so
most users would need to get such plugins if they wanted access to
these sorts of features.

> The proposal to use the free ogg vorbis/theora format has been sent out.
> As Mozilla community investigates big efforts on the open audio/video
> which makes use of ogg format for its HTML5 audio/video tag support, the
> ogg format is quite promising. It'll be good that coherence can support
> this option.

Thanks, I think it is important to encourage free projects to consider
supporting free media alternatives.  Seems that shouldn't require as
much encouragement as it seems to.

Since coherence uses GStreamer already, it would seem fairly trivial to
make it work with alternative pipelines that would read/write data in
any format the user could define a pipeline for.  So I wouldn't think
it should be a huge effort, unless perhaps supporting additional free
codecs affects the UPnP specification as well as HTML5 video/tag
support specification.

> I'd suggest to follow up with the upstream GStreamer community when the
> Coherence video transcoding is finalized. Will also keep the contact
> with coherence community. We can always disable some of the features in
> OpenSolaris if the gstreamer elements used aren't part of
> gst-plugins-good(base).

Any GStreamer plugin with distribution issues are kept in the
gst-plugins-ugly module.  Such plugins from this module are not
distributed on Solaris.  So we should not need to disable anything.
Coherence features that depend on missing plugins just should not be
available until the user installs the needed codec plugin.

Brian

From Darren.Moffat@sun.com Tue Mar 31 02:56:23 2009
Received: from sunmail4.singapore.sun.com (sunmail4.Singapore.Sun.COM [129.158.71.19])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id n2V9uM2V002909
	for <LSARC-ext@sac.sfbay.sun.com>; Tue, 31 Mar 2009 02:56:23 -0700 (PDT)
Received: from brm-avmta-1.central.sun.com (brm-avmta-1.Central.Sun.COM [129.147.4.11])
	by sunmail4.singapore.sun.com (8.13.4+Sun/8.13.3/ENSMAIL,v2.2) with ESMTP id n2V9uARq000929
	for <@sunmail2sca.sfbay.sun.com:LSARC-ext@sun.com>; Tue, 31 Mar 2009 17:56:21 +0800 (SGT)
Received: from pmxchannel-daemon.brm-avmta-1.central.sun.com by
 brm-avmta-1.central.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0KHD004157LV8A00@brm-avmta-1.central.sun.com> for LSARC-ext@sun.com
 (ORCPT LSARC-ext@sun.com); Tue, 31 Mar 2009 03:56:19 -0600 (MDT)
Received: from gmp-eb-inf-1.sun.com ([192.18.6.21])
 by brm-avmta-1.central.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0KHD00MVR7LUAP30@brm-avmta-1.central.sun.com> for
 LSARC-ext@sun.com (ORCPT LSARC-ext@sun.com); Tue,
 31 Mar 2009 03:56:19 -0600 (MDT)
Received: from fe-emea-10.sun.com (gmp-eb-lb-1-fe3.eu.sun.com [192.18.6.10])
	by gmp-eb-inf-1.sun.com (8.13.7+Sun/8.12.9) with ESMTP id n2V9uIhB023643	for
 <LSARC-ext@sun.com>; Tue, 31 Mar 2009 09:56:18 +0000 (GMT)
Received: from conversion-daemon.fe-emea-10.sun.com by fe-emea-10.sun.com
 (Sun Java(tm) System Messaging Server 7.0-5.01 64bit (built Feb 19 2009))
 id <0KHD00M005XR4300@fe-emea-10.sun.com> for LSARC-ext@sun.com
 (ORCPT LSARC-ext@sun.com); Tue, 31 Mar 2009 10:56:18 +0100 (BST)
Received: from [192.168.1.104]
 (cpc2-rdng20-2-0-cust917.15-3.cable.virginmedia.com [86.28.167.150])
 by fe-emea-10.sun.com
 (Sun Java(tm) System Messaging Server 7.0-5.01 64bit (built Feb 19 2009))
 with ESMTPSA id <0KHD005E97LFV260@fe-emea-10.sun.com>; Tue,
 31 Mar 2009 10:56:04 +0100 (BST)
Date: Tue, 31 Mar 2009 10:56:03 +0100
From: Darren J Moffat <Darren.Moffat@sun.com>
Subject: Re: [desktop-discuss] Coherence [LSARC/2009/199 FastTrack timeout
 04/08/2009]
In-reply-to: <49D0EC4F.2040204@sun.com>
Sender: Darren.Moffat@sun.com
To: Brian Cameron <Brian.Cameron@sun.com>
Cc: Alfred Peng <Alfred.Peng@sun.com>,
        Brian Cameron <bc99092@sac.sfbay.sun.com>, LSARC-ext@sun.com,
        desktop-discuss@opensolaris.org
Message-id: <49D1E8B3.5000602@Sun.COM>
MIME-version: 1.0
Content-type: text/plain; format=flowed; charset=ISO-8859-1
Content-transfer-encoding: 7BIT
X-PMX-Version: 5.4.1.325704
References: <200903260424.n2Q4OsVj023965@sac.sfbay.sun.com>
 <49CB4AD9.2020206@Sun.COM> <49CB7CD0.6010803@sun.com>
 <49CB97A4.6090208@sun.com> <49CBB606.70001@sun.com> <49CBB9A0.8050505@sun.com>
 <49CCA6D2.8050402@sun.com> <49CD14FD.5070103@sun.com>
 <49D09646.5060202@sun.com> <49D0EC4F.2040204@sun.com>
User-Agent: Thunderbird 2.0.0.18 (X11/20090211)
Status: RO
Content-Length: 704

Brian Cameron wrote:
> Any GStreamer plugin with distribution issues are kept in the
> gst-plugins-ugly module.  Such plugins from this module are not
> distributed on Solaris.  So we should not need to disable anything.
> Coherence features that depend on missing plugins just should not be
> available until the user installs the needed codec plugin.

Agreed, I don't want to see parts of Coherence disabled because 
OpenSolaris doesn't have gst-plugins-ugly.  That doesn't mean the user 
hasn't got them (or an equivalent) installed locally.  What I don't want 
is to be forced to remove the Coherence that comes with OpenSolaris and 
have to build and maintain my own local copy.

--
Darren J Moffat

From Alfred.Peng@sun.com Tue Mar 31 03:21:37 2009
Received: from sunmail5.uk.sun.com (sunmail5.UK.Sun.COM [129.156.85.165])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id n2VALatD002604
	for <LSARC-ext@sac.sfbay.sun.com>; Tue, 31 Mar 2009 03:21:37 -0700 (PDT)
Received: from nwk-avmta-2.sfbay.sun.com (nwk-avmta-2.SFBay.Sun.COM [129.145.155.6])
	by sunmail5.uk.sun.com (8.13.8+Sun/8.13.8/ENSMAIL,v2.2) with ESMTP id n2VALXMP016345
	for <@sunmail2sca.sfbay.sun.com:LSARC-ext@sun.com>; Tue, 31 Mar 2009 11:21:36 +0100 (BST)
Received: from pmxchannel-daemon.nwk-avmta-2.sfbay.sun.com by
 nwk-avmta-2.sfbay.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0KHD008018RZ0E00@nwk-avmta-2.sfbay.sun.com> for LSARC-ext@sun.com
 (ORCPT LSARC-ext@sun.com); Tue, 31 Mar 2009 03:21:35 -0700 (PDT)
Received: from sineb-mail-2.sun.com ([192.18.19.7])
 by nwk-avmta-2.sfbay.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0KHD00LPE8RXW290@nwk-avmta-2.sfbay.sun.com> for
 LSARC-ext@sun.com (ORCPT LSARC-ext@sun.com); Tue,
 31 Mar 2009 03:21:34 -0700 (PDT)
Received: from fe-apac-05.sun.com
 (fe-apac-05.sun.com [192.18.19.176] (may be forged))
	by sineb-mail-2.sun.com (8.13.6+Sun/8.12.9) with ESMTP id n2VALXCK009787	for
 <LSARC-ext@sun.com>; Tue, 31 Mar 2009 10:21:33 +0000 (GMT)
Received: from conversion-daemon.mail-apac.sun.com by mail-apac.sun.com
 (Sun Java(tm) System Messaging Server 7.0-5.01 64bit (built Feb 19 2009))
 id <0KHD00I008QTIG00@mail-apac.sun.com> for LSARC-ext@sun.com
 (ORCPT LSARC-ext@sun.com); Tue, 31 Mar 2009 18:21:33 +0800 (SGT)
Received: from [172.22.191.81] ([unknown] [155.69.200.58])
 by mail-apac.sun.com (Sun Java(tm) System Messaging Server 7.0-5.01 64bit
 (built Feb 19 2009)) with ESMTPSA id <0KHD003WT8RWVB90@mail-apac.sun.com>; Tue,
 31 Mar 2009 18:21:33 +0800 (SGT)
Date: Tue, 31 Mar 2009 18:22:01 +0800
From: Alfred Peng <Alfred.Peng@sun.com>
Subject: Re: [desktop-discuss] Coherence [LSARC/2009/199 FastTrack timeout
 04/08/2009]
In-reply-to: <49D1E8B3.5000602@Sun.COM>
Sender: Alfred.Peng@sun.com
To: Darren J Moffat <Darren.Moffat@sun.com>,
        Brian Cameron <Brian.Cameron@sun.com>
Cc: Brian Cameron <bc99092@sac.sfbay.sun.com>, LSARC-ext@sun.com,
        desktop-discuss@opensolaris.org
Message-id: <49D1EEC9.3070107@sun.com>
MIME-version: 1.0
Content-type: text/plain; format=flowed; charset=ISO-8859-1
Content-transfer-encoding: 7BIT
X-PMX-Version: 5.4.1.325704
References: <200903260424.n2Q4OsVj023965@sac.sfbay.sun.com>
 <49CB4AD9.2020206@Sun.COM> <49CB7CD0.6010803@sun.com>
 <49CB97A4.6090208@sun.com> <49CBB606.70001@sun.com> <49CBB9A0.8050505@sun.com>
 <49CCA6D2.8050402@sun.com> <49CD14FD.5070103@sun.com>
 <49D09646.5060202@sun.com> <49D0EC4F.2040204@sun.com>
 <49D1E8B3.5000602@Sun.COM>
User-Agent: Thunderbird 2.0.0.19 (X11/20090306)
Status: RO
Content-Length: 1078

Hi Darren/Brian,

If I understand correctly, the Coherence usage of missing GStreamer 
elements won't introduce extra problem so that we don't need to disable 
any Coherence transcoding features, and GStreamer will handle the 
missing elements properly. I agree to keep the transcoding part 
unchanged then.

Thanks,
-Alfred

Darren J Moffat wrote:
> Brian Cameron wrote:
>> Any GStreamer plugin with distribution issues are kept in the
>> gst-plugins-ugly module.  Such plugins from this module are not
>> distributed on Solaris.  So we should not need to disable anything.
>> Coherence features that depend on missing plugins just should not be
>> available until the user installs the needed codec plugin.
>
> Agreed, I don't want to see parts of Coherence disabled because 
> OpenSolaris doesn't have gst-plugins-ugly.  That doesn't mean the user 
> hasn't got them (or an equivalent) installed locally.  What I don't 
> want is to be forced to remove the Coherence that comes with 
> OpenSolaris and have to build and maintain my own local copy.
>
> -- 
> Darren J Moffat


From Brian.Cameron@sun.com Tue Mar 31 10:29:46 2009
Received: from newsunmail1brm.central.sun.com (newsunmail1brm.Central.Sun.COM [129.147.62.245])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id n2VHTkN5026930
	for <LSARC-ext@sac.sfbay.sun.com>; Tue, 31 Mar 2009 10:29:46 -0700 (PDT)
Received: from nwk-avmta-2.sfbay.sun.com (nwk-avmta-2.SFBay.Sun.COM [129.145.155.6])
	by newsunmail1brm.central.sun.com (8.13.7+Sun/8.13.7/ENSMAIL,v2.2) with ESMTP id n2VHTido050500
	for <@sunmail2sca.sfbay.sun.com:LSARC-ext@sun.com>; Tue, 31 Mar 2009 11:29:45 -0600 (MDT)
Received: from pmxchannel-daemon.nwk-avmta-2.sfbay.sun.com by
 nwk-avmta-2.sfbay.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0KHD00817SLKGX00@nwk-avmta-2.sfbay.sun.com> for LSARC-ext@sun.com
 (ORCPT LSARC-ext@sun.com); Tue, 31 Mar 2009 10:29:44 -0700 (PDT)
Received: from brmea-mail-4.sun.com ([192.18.98.36])
 by nwk-avmta-2.sfbay.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0KHD00MTESLJ3DE0@nwk-avmta-2.sfbay.sun.com> for
 LSARC-ext@sun.com (ORCPT LSARC-ext@sun.com); Tue,
 31 Mar 2009 10:29:43 -0700 (PDT)
Received: from fe-amer-09.sun.com ([192.18.109.79])
	by brmea-mail-4.sun.com (8.13.6+Sun/8.12.9) with ESMTP id n2VHThSL018489	for
 <LSARC-ext@sun.com>; Tue, 31 Mar 2009 17:29:43 +0000 (GMT)
Received: from conversion-daemon.mail-amer.sun.com by mail-amer.sun.com
 (Sun Java(tm) System Messaging Server 7.0-5.01 64bit (built Feb 19 2009))
 id <0KHD00C00RQVHW00@mail-amer.sun.com> for LSARC-ext@sun.com
 (ORCPT LSARC-ext@sun.com); Tue, 31 Mar 2009 11:29:43 -0600 (MDT)
Received: from [129.153.250.178] ([unknown] [129.153.250.178])
 by mail-amer.sun.com
 (Sun Java(tm) System Messaging Server 7.0-5.01 64bit (built Feb 19 2009))
 with ESMTPSA id <0KHD00M28SLI2TA0@mail-amer.sun.com>; Tue,
 31 Mar 2009 11:29:42 -0600 (MDT)
Date: Tue, 31 Mar 2009 12:29:06 -0500
From: Brian Cameron <Brian.Cameron@sun.com>
Subject: Re: [desktop-discuss] Coherence [LSARC/2009/199 FastTrack timeout
 04/08/2009]
In-reply-to: <49D1E8B3.5000602@Sun.COM>
Sender: Brian.Cameron@sun.com
To: Darren J Moffat <Darren.Moffat@sun.com>
Cc: Alfred Peng <Alfred.Peng@sun.com>,
        Brian Cameron <bc99092@sac.sfbay.sun.com>, LSARC-ext@sun.com,
        desktop-discuss@opensolaris.org
Message-id: <49D252E2.6050909@sun.com>
MIME-version: 1.0
Content-type: text/plain; format=flowed; charset=ISO-8859-1
Content-transfer-encoding: 7BIT
X-PMX-Version: 5.4.1.325704
References: <200903260424.n2Q4OsVj023965@sac.sfbay.sun.com>
 <49CB4AD9.2020206@Sun.COM> <49CB7CD0.6010803@sun.com>
 <49CB97A4.6090208@sun.com> <49CBB606.70001@sun.com> <49CBB9A0.8050505@sun.com>
 <49CCA6D2.8050402@sun.com> <49CD14FD.5070103@sun.com>
 <49D09646.5060202@sun.com> <49D0EC4F.2040204@sun.com>
 <49D1E8B3.5000602@Sun.COM>
User-Agent: Mozilla/5.0 (X11; U; SunOS i86pc; en-US; rv:1.9.1b3pre)
 Gecko/20090323 Thunderbird/3.0b2
Status: RO
Content-Length: 595


Darren:

> Agreed, I don't want to see parts of Coherence disabled because
> OpenSolaris doesn't have gst-plugins-ugly. That doesn't mean the user
> hasn't got them (or an equivalent) installed locally. What I don't want
> is to be forced to remove the Coherence that comes with OpenSolaris and
> have to build and maintain my own local copy.

Right.  Since coherence uses GStreamer, there is no hard dependency
on a particular GStreamer plugin.  If the user adds needed plugins, the
features that need it should just start working without needing to
recompile or anything, for example.

Brian

From Brian.Cameron@sun.com Fri Apr 24 00:06:11 2009
Received: from sunmail5.uk.sun.com (sunmail5.UK.Sun.COM [129.156.85.165])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id n3O76AlC009397
	for <LSARC-ext@sac.sfbay.sun.com>; Fri, 24 Apr 2009 00:06:10 -0700 (PDT)
Received: from nwk-avmta-2.sfbay.sun.com (nwk-avmta-2.SFBay.Sun.COM [129.145.155.6])
	by sunmail5.uk.sun.com (8.13.8+Sun/8.13.8/ENSMAIL,v2.2) with ESMTP id n3O767aQ025046
	for <@sunmail2sca.sfbay.sun.com:LSARC-ext@sun.com>; Fri, 24 Apr 2009 08:06:09 +0100 (BST)
Received: from pmxchannel-daemon.nwk-avmta-2.sfbay.sun.com by
 nwk-avmta-2.sfbay.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0KIL00D0LFQ80S00@nwk-avmta-2.sfbay.sun.com> for LSARC-ext@sun.com
 (ORCPT LSARC-ext@sun.com); Fri, 24 Apr 2009 00:06:08 -0700 (PDT)
Received: from brmea-mail-1.sun.com ([192.18.98.31])
 by nwk-avmta-2.sfbay.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0KIL0001RFQ7XT90@nwk-avmta-2.sfbay.sun.com> for
 LSARC-ext@sun.com (ORCPT LSARC-ext@sun.com); Fri,
 24 Apr 2009 00:06:07 -0700 (PDT)
Received: from fe-amer-09.sun.com ([192.18.109.79])
	by brmea-mail-1.sun.com (8.13.6+Sun/8.12.9) with ESMTP id n3O767ea022975	for
 <LSARC-ext@sun.com>; Fri, 24 Apr 2009 07:06:07 +0000 (GMT)
Received: from conversion-daemon.mail-amer.sun.com by mail-amer.sun.com
 (Sun Java(tm) System Messaging Server 7.0-5.01 64bit (built Feb 19 2009))
 id <0KIL00200FHFSE00@mail-amer.sun.com> for LSARC-ext@sun.com
 (ORCPT LSARC-ext@sun.com); Fri, 24 Apr 2009 01:06:07 -0600 (MDT)
Received: from [192.168.1.70] ([unknown] [189.136.186.195])
 by mail-amer.sun.com
 (Sun Java(tm) System Messaging Server 7.0-5.01 64bit (built Feb 19 2009))
 with ESMTPSA id <0KIL00I12FQ4QRE0@mail-amer.sun.com>; Fri,
 24 Apr 2009 01:06:06 -0600 (MDT)
Date: Fri, 24 Apr 2009 02:06:03 -0500
From: Brian Cameron <Brian.Cameron@sun.com>
Subject: Re: [desktop-discuss] Coherence [LSARC/2009/199 FastTrack timeout
 04/08/2009]
In-reply-to: <200903260424.n2Q4OsVj023965@sac.sfbay.sun.com>
Sender: Brian.Cameron@sun.com
To: Brian Cameron <bc99092@sac.sfbay.sun.com>
Cc: LSARC-ext@sun.com, desktop-discuss@opensolaris.org,
        Alfred Peng <Alfred.Peng@sun.com>
Message-id: <49F164DB.4000006@sun.com>
MIME-version: 1.0
Content-type: text/plain; format=flowed; charset=ISO-8859-1
Content-transfer-encoding: 7BIT
X-PMX-Version: 5.4.1.325704
References: <200903260424.n2Q4OsVj023965@sac.sfbay.sun.com>
User-Agent: Mozilla/5.0 (X11; U; SunOS i86pc; en-US; rv:1.9.1b3pre)
 Gecko/20090420 Thunderbird/3.0b2
Status: RO
Content-Length: 10521


As agreed at the last LSARC meeting, I am closing this case as approved
on 04/21/2009.

Overall, this case was non-controversial.  There was some discussion
about how some features of coherence are disabled if the user doesn't
have the appropriate GStreamer plugins installed.  Features that depend
on non-free media formats, for example, are disabled until the user
installs the needed GStreamer plugin.  For example, Alfred verified
that if the user installs the Fluendo plugins that this enables
coherence support for those formats.

Thanks,

Brian


On 03/25/09 23:24, Brian Cameron wrote:
> Template Version: @(#)sac_nextcase 1.68 02/23/09 SMI
> This information is Copyright 2009 Sun Microsystems
> 1. Introduction
>      1.1. Project/Component Working Name:
> 	 Coherence
>      1.2. Name of Document Author/Supplier:
> 	 Author:  Alfred Peng
>      1.3  Date of This Document:
> 	25 March, 2009
> 4. Technical Description
> Copyright 2009 Sun Microsystems
>
> 1. Introduction
>      1.1. Project/Component Working Name:
>
>          Coherence
>
>      1.2. Name of Document Author/Supplier:
>
>          Alfred Peng
>
>      1.3. Date of This Document:
>
>          03/13/2009
>
>          1.3.1. Date this project was conceived:
>
>              07/12/2007
>
>      1.4. Name of Major Document Customer(s)/Consumer(s):
>
>          1.4.1. The PAC or CPT you expect to review your project:
>
>              Solaris PAC
>
>          1.4.2. The ARC(s) you expect to review your project:
>
>              LSARC
>
>          1.4.3. The Director/VP who is "Sponsoring" this project:
>
>              robert.odea@sun.com
>
>          1.4.4. The name of your business unit:
>
>              New Solaris Group, Desktop
>
>      1.5. Email Aliases:
>
>          1.5.1. Responsible Manager:
>
>              leo.binchy@sun.com
>
>          1.5.2. Responsible Engineer:
>
>              alfred.peng@sun.com
>
>          1.5.3. Marketing Manager:
>
>              glynn.foster@sun.com
>
>          1.5.4. Interest List:
>
>              desktop-discuss@opensolaris.org
>
> 4. Technical Description:
>      4.1. Details:
>          Coherence is a DLNA (Digital Living Network Alliance)/UPnP (Universal
>          Plug and Play) Framework written in Python for the Digital Living.
>
>          The goals of UPnP are to allow devices to connect seamlessly and to
>          simplify the implementation of networks in the home (data sharing,
>          communications, and entertainment) and in corporate environments for
>          simplified installation of computer components. With the UPnP framework,
>          users can setup their home media center with PCs, wireless devices
>          (mobile phones, tablet PCs etc.) and networked appliances (TVs, audio
>          players, multimedia players, games consoles etc.)[2].
>
>          Coherence is divided into three main parts: the core, the virtual
>          devices, and the device backends[3]. The core of coherence provides an
>          implementation of: a SSDP (Simple Service Discovery Protocol) [4]
>          server, a MSEARCH (command to find other devices connected to the
>          UPnP network) client to find other devices connected to the network,
>          server and client for HTTP/SOAP requests, server and client for Event
>          Subscription and Notification.
>
>          The virtual devices contain: Media Server to provide media content
>          (local storage or online services) and directory information,
>          Media Renderer to play back media content provided by the Media Server,
>          Control Point to interconnect Media Server and Media Renderer. The
>          virtual device implementation registers with the core, declares which
>          service interfaces it is using, and attaches callbacks which map the
>          service actions to its backend. It's generally a translation map
>          between the core and the device backend.
>
>          The device backend is the part to host, render and control the media
>          files. The following components could act as the device backend: file
>          systems to store the media files, audio/video hardware and desktop GUI
>          applications to render the media content and control the playback.
>
>          For users, coherence can be used in conjunction with Rhythmbox, Totem or
>          Elisa, and become a controllable DLNA/UPnP Media Renderer. For example,
>          coherence is used in Elisa to talk with the Apple Movie trailer Media
>          Server for its Movie trailer plugin and YouTube Media Server for its
>          YouTube plugin. Coherence can also be configured as a DLNA/UPnP Media
>          Server and exports local and remote media files via its backend to
>          other UPnP clients.
>
>          Developers get a python framework with an emerging DBus API. This
>          framework is designed to automate all UPnP-related tasks as much as
>          possible and enable applications to participate in digital living
>          networks.
>
>          In short, coherence provides two main features to the system:
>          - Interfaces so that programs like elisa, rhythmbox, totem, etc. can
>            act as Media Renderer/Control Point and connect to the UPnP servers
>            on the internet.
>          - Interfaces so that an UPnP Media Server can be set up on the system.
>
>      4.2. Bug/RFE Number(s):
>
>          None.
>
>      4.3. In Scope:
>
>          See above.
>
>      4.4. Out of Scope:
>
>          See above.
>
>      4.5. Interfaces:
>
>                                 Exported  Interface
>          --------------------------------------------------------------------
>          Interface Name                     Classification   Comment
>          --------------------------------------------------------------------
>          SUNWpython-coherence               Uncommitted      Package name
>          /usr/bin/coherence                 Volatile         Coherence CLI to
>                                                              start the server
>          $HOME/.coherence                   Private          Config file
>          /usr/lib/python2.4/vendor-packages/Coherence*.egg-info
>                                             Uncommitted      Python egg files
>          /usr/lib/python2.4/vendor-packages/coherence
>                                             Uncommitted      Python API
>          /usr/lib/python2.6/vendor-packages/Coherence*.egg-info
>                                             Uncommitted      Python egg files
>          /usr/lib/python2.6/vendor-packages/coherence
>                                             Uncommitted      Python API
>
>
>                                 Imported  Interface
>          --------------------------------------------------------------------
>          Interface          Classification   Comment
>          --------------------------------------------------------------------
>          Python             External         PSARC/2005/532 Python
>                             Evolving         Migration from /usr/sfw to /usr
>                                              and upgrade to v2.4.x
>          Python 2.6         Uncommitted      PSARC/2009/043
>          Python Twisted     Uncommitted      PSARC/2008/121
>          Python Setuptools  Uncommitted      PSARC/2008/084
>
>      4.6. Doc Impact:
>
>          coherence.1
>
>      4.7. Admin/Config Impact:
>
>          Coherence looks for the configuration file named .coherence in $HOME by
>          default during server startup. Alternatively with the option
>          -c|--configfile the location of the configuration file can be passed.
>          In the configuration file, the following parameters can be specified:
>          log level, log file, interface definition for systems with more than
>          one physical interface, serverport tells coherence the port to listen
>          on and the plugins that will be activated.
>
>          The configuration options can be also passed to coherence through
>          commandline during startup. If no configuration is specified, the
>          default value will be used for coherence server.
>
>      4.8. HA Impact:
>
>          None.
>
>      4.9. I18N/L10N Impact:
>
>          The JDS team and the G11N team are working together to evaluate and
>          provide I18N/L10N support.
>
>      4.10. Packaging&  Delivery:
>
>          Adds new package, SUNWpython-coherence.
>
>      4.11. Security Impact:
>
>          Coherence implements the functions to download https page to a
>          string/file by importing the Python Twisted ssl module via
>          twisted.internet.
>
>          The security concern for UPnP is the lack of device authentication,
>          especially for Internet gateway devices[5]. Coherence doesn't provide
>          an Internet gateway device implementation now. It's designed to work
>          in the home network. The media files won't be propagate to the Internet
>          through multicast. When installed on a gateway, the media files are
>          reachable from the outside via http.
>
>      4.12. Dependencies:
>
>          The following versions of the imported interfaces are required:
>
>          Python 2.4.x
>          Python 2.6
>          Python Twisted
>          Python Setuptools
>
> 5. Reference Documents:
>
>      [1] Coherence homepage:
>      http://coherence.beebits.net/
>
>      [2] The DLNA/UPnP devices supported by Coherence:
>      http://coherence.beebits.net/wiki/SupportedDevices
>
>      [3] Coherence architectural overview:
>      http://coherence.beebits.net/wiki/ArchitecturalOverview
>
>      [4] SSDP:
>      http://en.wikipedia.org/wiki/Simple_Service_Discovery_Protocol
>
>      [5] UPnP security concern:
>      http://en.wikipedia.org/wiki/Universal_Plug_and_Play#Lack_of_Default_Authentication
>
>      [6] Related ARC cases:
>          PSARC/2005/532: Python migration from /usr/sfw to /usr
>                          and upgrade to v2.4.x
>          PSARC/2008/121: Python Twisted
>          PSARC/2008/084: Python Setuptools
>          PSARC/2009/043: Python 2.6
>
> 6. Resources and Schedule
>      6.4. Steering Committee requested information
>     	6.4.1. Consolidation C-team Name:
> 		Desktop
>      6.5. ARC review type: FastTrack
>      6.6. ARC Exposure: open
>
> _______________________________________________
> desktop-discuss mailing list
> desktop-discuss@opensolaris.org


From Darren.Moffat@Sun.COM Fri Apr 24 02:22:55 2009
Received: from sunmail5.uk.sun.com (sunmail5.UK.Sun.COM [129.156.85.165])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id n3O9Mr97027278
	for <LSARC-ext@sac.sfbay.sun.com>; Fri, 24 Apr 2009 02:22:53 -0700 (PDT)
Received: from nwk-avmta-2.sfbay.sun.com (nwk-avmta-2.SFBay.Sun.COM [129.145.155.6])
	by sunmail5.uk.sun.com (8.13.8+Sun/8.13.8/ENSMAIL,v2.2) with ESMTP id n3O9MhM9026649
	for <@sunmail2sca.sfbay.sun.com:LSARC-ext@sun.com>; Fri, 24 Apr 2009 10:22:52 +0100 (BST)
Received: from pmxchannel-daemon.nwk-avmta-2.sfbay.sun.com by
 nwk-avmta-2.sfbay.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0KIL00K1DM23ZX00@nwk-avmta-2.sfbay.sun.com> for LSARC-ext@sun.com
 (ORCPT LSARC-ext@sun.com); Fri, 24 Apr 2009 02:22:51 -0700 (PDT)
Received: from gmp-eb-inf-1.sun.com ([192.18.6.21])
 by nwk-avmta-2.sfbay.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0KIL00I4AM22RX70@nwk-avmta-2.sfbay.sun.com> for
 LSARC-ext@sun.com (ORCPT LSARC-ext@sun.com); Fri,
 24 Apr 2009 02:22:50 -0700 (PDT)
Received: from fe-emea-10.sun.com (gmp-eb-lb-2-fe2.eu.sun.com [192.18.6.11])
	by gmp-eb-inf-1.sun.com (8.13.7+Sun/8.12.9) with ESMTP id n3O9MnYw020758	for
 <LSARC-ext@sun.com>; Fri, 24 Apr 2009 09:22:49 +0000 (GMT)
Received: from conversion-daemon.fe-emea-10.sun.com by fe-emea-10.sun.com
 (Sun Java(tm) System Messaging Server 7.0-5.01 64bit (built Feb 19 2009))
 id <0KIL00800LMIEG00@fe-emea-10.sun.com> for LSARC-ext@sun.com
 (ORCPT LSARC-ext@sun.com); Fri, 24 Apr 2009 10:22:49 +0100 (BST)
Received: from [192.168.1.103]
 (cpc2-rdng20-2-0-cust917.15-3.cable.virginmedia.com [86.28.167.150])
 by fe-emea-10.sun.com
 (Sun Java(tm) System Messaging Server 7.0-5.01 64bit (built Feb 19 2009))
 with ESMTPSA id <0KIL00MZKM1Y7B40@fe-emea-10.sun.com> for LSARC-ext@sun.com
 (ORCPT LSARC-ext@sun.com); Fri, 24 Apr 2009 10:22:49 +0100 (BST)
Date: Fri, 24 Apr 2009 10:22:47 +0100
From: Darren J Moffat <Darren.Moffat@Sun.COM>
Subject: Re: [desktop-discuss] Coherence [LSARC/2009/199 FastTrack timeout
 04/08/2009]
In-reply-to: <49F164DB.4000006@sun.com>
Sender: Darren.Moffat@Sun.COM
To: Brian Cameron <Brian.Cameron@Sun.COM>
Cc: LSARC-ext@Sun.COM, Alfred Peng <Alfred.Peng@Sun.COM>,
        desktop-discuss@opensolaris.org
Message-id: <49F184E7.3030500@Sun.COM>
MIME-version: 1.0
Content-type: text/plain; format=flowed; charset=ISO-8859-1
Content-transfer-encoding: 7BIT
X-PMX-Version: 5.4.1.325704
References: <200903260424.n2Q4OsVj023965@sac.sfbay.sun.com>
 <49F164DB.4000006@sun.com>
User-Agent: Thunderbird 2.0.0.18 (X11/20090211)
Status: RO
Content-Length: 931

Brian Cameron wrote:
> 
> As agreed at the last LSARC meeting, I am closing this case as approved
> on 04/21/2009.
> 
> Overall, this case was non-controversial.  There was some discussion
> about how some features of coherence are disabled if the user doesn't
> have the appropriate GStreamer plugins installed.  Features that depend
> on non-free media formats, for example, are disabled until the user
> installs the needed GStreamer plugin.  For example, Alfred verified
> that if the user installs the Fluendo plugins that this enables
> coherence support for those formats.

I don't believe the issue of an SMF service for Coherence was addressed.

The main Coherence site even has an SMF service, with what I'd regard as 
a suitable FMRI.  It even has it running as a non root user.  A system 
wide upnp service for this makes a lot of sense to me.

http://coherence.beebits.net/wiki/SolarisInstallation

--
Darren J Moffat

From Alfred.Peng@sun.com Fri Apr 24 06:56:02 2009
Received: from sunmail4.singapore.sun.com (sunmail4.Singapore.Sun.COM [129.158.71.19])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id n3ODu1rm026994
	for <LSARC-ext@sac.sfbay.sun.com>; Fri, 24 Apr 2009 06:56:01 -0700 (PDT)
Received: from brm-avmta-1.central.sun.com (brm-avmta-1.Central.Sun.COM [129.147.4.11])
	by sunmail4.singapore.sun.com (8.13.4+Sun/8.13.3/ENSMAIL,v2.2) with ESMTP id n3ODteYF022240
	for <@sunmail2sca.sfbay.sun.com:LSARC-ext@sun.com>; Fri, 24 Apr 2009 21:56:00 +0800 (SGT)
Received: from pmxchannel-daemon.brm-avmta-1.central.sun.com by
 brm-avmta-1.central.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0KIL00G27YP96900@brm-avmta-1.central.sun.com> for LSARC-ext@sun.com
 (ORCPT LSARC-ext@Sun.COM); Fri, 24 Apr 2009 07:55:57 -0600 (MDT)
Received: from sineb-mail-1.sun.com ([192.18.19.6])
 by brm-avmta-1.central.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0KIL00BKUYP72B30@brm-avmta-1.central.sun.com> for
 LSARC-ext@sun.com (ORCPT LSARC-ext@Sun.COM); Fri,
 24 Apr 2009 07:55:56 -0600 (MDT)
Received: from fe-apac-06.sun.com
 (fe-apac-06.sun.com [192.18.19.177] (may be forged))
	by sineb-mail-1.sun.com (8.13.6+Sun/8.12.9) with ESMTP id n3ODts75003164	for
 <LSARC-ext@Sun.COM>; Fri, 24 Apr 2009 13:55:54 +0000 (GMT)
Received: from conversion-daemon.mail-apac.sun.com by mail-apac.sun.com
 (Sun Java(tm) System Messaging Server 7.0-5.01 64bit (built Feb 19 2009))
 id <0KIL00100YC98D00@mail-apac.sun.com> for LSARC-ext@Sun.COM
 (ORCPT LSARC-ext@Sun.COM); Fri, 24 Apr 2009 21:55:54 +0800 (SGT)
Received: from [192.168.1.71] ([unknown] [116.15.156.239])
 by mail-apac.sun.com (Sun Java(tm) System Messaging Server 7.0-5.01 64bit
 (built Feb 19 2009)) with ESMTPSA id <0KIL00054YP15H20@mail-apac.sun.com> for
 LSARC-ext@Sun.COM (ORCPT LSARC-ext@Sun.COM); Fri,
 24 Apr 2009 21:55:54 +0800 (SGT)
Date: Fri, 24 Apr 2009 21:55:50 +0800
From: Alfred Peng <Alfred.Peng@sun.com>
Subject: Re: [desktop-discuss] Coherence [LSARC/2009/199 FastTrack timeout
 04/08/2009]
In-reply-to: <49F184E7.3030500@Sun.COM>
Sender: Alfred.Peng@sun.com
To: Darren J Moffat <Darren.Moffat@sun.com>
Cc: Brian Cameron <Brian.Cameron@sun.com>, LSARC-ext@sun.com,
        desktop-discuss@opensolaris.org
Message-id: <49F1C4E6.60709@sun.com>
MIME-version: 1.0
Content-type: text/plain; charset=ISO-8859-1
Content-transfer-encoding: 7BIT
X-PMX-Version: 5.4.1.325704
References: <200903260424.n2Q4OsVj023965@sac.sfbay.sun.com>
 <49F164DB.4000006@sun.com> <49F184E7.3030500@Sun.COM>
User-Agent: Thunderbird 2.0.0.19 (X11/20090306)
Status: RO
Content-Length: 1484

Hi Darren,

Thanks for the pointer. The SMF approach from the link looks good to me
and it works fine on my box. The following three files and one folder
will be included in the package.

-r-xr-xr-x root bin /lib/svc/method/coherence
drwxrwxr-x upnp nas /var/coherence
-rw-r--r-- upnp nas /var/coherence/coherence.conf
-rw-r--r-- root sys /var/svc/manifest/application/coherence.xml

And the group "nas" and user "upnp" will be created as the pointer suggests.

Best Regards,
-Alfred

Darren J Moffat wrote:
> Brian Cameron wrote:
>   
>> As agreed at the last LSARC meeting, I am closing this case as approved
>> on 04/21/2009.
>>
>> Overall, this case was non-controversial.  There was some discussion
>> about how some features of coherence are disabled if the user doesn't
>> have the appropriate GStreamer plugins installed.  Features that depend
>> on non-free media formats, for example, are disabled until the user
>> installs the needed GStreamer plugin.  For example, Alfred verified
>> that if the user installs the Fluendo plugins that this enables
>> coherence support for those formats.
>>     
>
> I don't believe the issue of an SMF service for Coherence was addressed.
>
> The main Coherence site even has an SMF service, with what I'd regard as 
> a suitable FMRI.  It even has it running as a non root user.  A system 
> wide upnp service for this makes a lot of sense to me.
>
> http://coherence.beebits.net/wiki/SolarisInstallation
>
> --
> Darren J Moffat
>   


From Darren.Moffat@sun.com Fri Apr 24 07:00:56 2009
Received: from newsunmail1brm.central.sun.com (newsunmail1brm.Central.Sun.COM [129.147.62.245])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id n3OE0uVB027150
	for <LSARC-ext@sac.sfbay.sun.com>; Fri, 24 Apr 2009 07:00:56 -0700 (PDT)
Received: from nwk-avmta-2.sfbay.sun.com (nwk-avmta-2.SFBay.Sun.COM [129.145.155.6])
	by newsunmail1brm.central.sun.com (8.13.7+Sun/8.13.7/ENSMAIL,v2.2) with ESMTP id n3OE0MSx060077
	for <@sunmail2sca.sfbay.sun.com:LSARC-ext@sun.com>; Fri, 24 Apr 2009 08:00:55 -0600 (MDT)
Received: from pmxchannel-daemon.nwk-avmta-2.sfbay.sun.com by
 nwk-avmta-2.sfbay.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0KIL00D4BYXHTJ00@nwk-avmta-2.sfbay.sun.com> for LSARC-ext@sun.com
 (ORCPT LSARC-ext@Sun.COM); Fri, 24 Apr 2009 07:00:53 -0700 (PDT)
Received: from gmp-eb-inf-1.sun.com ([192.18.6.21])
 by nwk-avmta-2.sfbay.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0KIL005AIYWZQK80@nwk-avmta-2.sfbay.sun.com> for
 LSARC-ext@sun.com (ORCPT LSARC-ext@Sun.COM); Fri,
 24 Apr 2009 07:00:35 -0700 (PDT)
Received: from fe-emea-09.sun.com (gmp-eb-lb-1-fe3.eu.sun.com [192.18.6.10])
	by gmp-eb-inf-1.sun.com (8.13.7+Sun/8.12.9) with ESMTP id n3OE0YEH004922	for
 <LSARC-ext@Sun.COM>; Fri, 24 Apr 2009 14:00:34 +0000 (GMT)
Received: from conversion-daemon.fe-emea-09.sun.com by fe-emea-09.sun.com
 (Sun Java(tm) System Messaging Server 7.0-5.01 64bit (built Feb 19 2009))
 id <0KIL00E00YETND00@fe-emea-09.sun.com> for LSARC-ext@Sun.COM
 (ORCPT LSARC-ext@Sun.COM); Fri, 24 Apr 2009 15:00:34 +0100 (BST)
Received: from [192.168.1.103]
 (cpc2-rdng20-2-0-cust917.15-3.cable.virginmedia.com [86.28.167.150])
 by fe-emea-09.sun.com
 (Sun Java(tm) System Messaging Server 7.0-5.01 64bit (built Feb 19 2009))
 with ESMTPSA id <0KIL00BI4YWLUN60@fe-emea-09.sun.com> for LSARC-ext@Sun.COM
 (ORCPT LSARC-ext@Sun.COM); Fri, 24 Apr 2009 15:00:22 +0100 (BST)
Date: Fri, 24 Apr 2009 15:00:22 +0100
From: Darren J Moffat <Darren.Moffat@sun.com>
Subject: Re: [desktop-discuss] Coherence [LSARC/2009/199 FastTrack timeout
 04/08/2009]
In-reply-to: <49F1C4E6.60709@sun.com>
Sender: Darren.Moffat@sun.com
To: Alfred Peng <Alfred.Peng@sun.com>
Cc: Brian Cameron <Brian.Cameron@sun.com>, LSARC-ext@sun.com,
        desktop-discuss@opensolaris.org
Message-id: <49F1C5F6.3060805@Sun.COM>
MIME-version: 1.0
Content-type: text/plain; format=flowed; charset=ISO-8859-1
Content-transfer-encoding: 7BIT
X-PMX-Version: 5.4.1.325704
References: <200903260424.n2Q4OsVj023965@sac.sfbay.sun.com>
 <49F164DB.4000006@sun.com> <49F184E7.3030500@Sun.COM> <49F1C4E6.60709@sun.com>
User-Agent: Thunderbird 2.0.0.18 (X11/20090211)
Status: RO
Content-Length: 700

Alfred Peng wrote:
> Hi Darren,
> 
> Thanks for the pointer. The SMF approach from the link looks good to me
> and it works fine on my box. The following three files and one folder
> will be included in the package.
> 
> -r-xr-xr-x root bin /lib/svc/method/coherence
> drwxrwxr-x upnp nas /var/coherence
> -rw-r--r-- upnp nas /var/coherence/coherence.conf
> -rw-r--r-- root sys /var/svc/manifest/application/coherence.xml
> 
> And the group "nas" and user "upnp" will be created as the pointer suggests.

I'd rather you didn't create a group called "nas" instead use "upnp" as 
the group name. Since there is nothing NAS (Network Attached Storage) 
about this case and Coherence.

--
Darren J Moffat

From Brian.Cameron@sun.com Mon Apr 27 18:32:10 2009
Received: from sunmail5.uk.sun.com (sunmail5.UK.Sun.COM [129.156.85.165])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id n3S1W8hE029886
	for <LSARC-ext@sac.sfbay.sun.com>; Mon, 27 Apr 2009 18:32:09 -0700 (PDT)
Received: from brm-avmta-1.central.sun.com (brm-avmta-1.Central.Sun.COM [129.147.4.11])
	by sunmail5.uk.sun.com (8.13.8+Sun/8.13.8/ENSMAIL,v2.2) with ESMTP id n3S1W702028582
	for <@sunmail2sca.sfbay.sun.com:LSARC-ext@sun.com>; Tue, 28 Apr 2009 02:32:08 +0100 (BST)
Received: from pmxchannel-daemon.brm-avmta-1.central.sun.com by
 brm-avmta-1.central.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0KIS00B0ZEXJHQ00@brm-avmta-1.central.sun.com> for LSARC-ext@sun.com
 (ORCPT LSARC-ext@Sun.COM); Mon, 27 Apr 2009 19:32:07 -0600 (MDT)
Received: from brmea-mail-1.sun.com ([192.18.98.31])
 by brm-avmta-1.central.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0KIS008P1EXIJC10@brm-avmta-1.central.sun.com> for
 LSARC-ext@sun.com (ORCPT LSARC-ext@Sun.COM); Mon,
 27 Apr 2009 19:32:06 -0600 (MDT)
Received: from fe-amer-09.sun.com ([192.18.109.79])
	by brmea-mail-1.sun.com (8.13.6+Sun/8.12.9) with ESMTP id n3S1W6V8020097	for
 <LSARC-ext@Sun.COM>; Tue, 28 Apr 2009 01:32:06 +0000 (GMT)
Received: from conversion-daemon.mail-amer.sun.com by mail-amer.sun.com
 (Sun Java(tm) System Messaging Server 7.0-5.01 64bit (built Feb 19 2009))
 id <0KIS00G00EW97800@mail-amer.sun.com> for LSARC-ext@Sun.COM
 (ORCPT LSARC-ext@Sun.COM); Mon, 27 Apr 2009 19:32:06 -0600 (MDT)
Received: from [192.168.1.70] ([unknown] [189.137.184.97])
 by mail-amer.sun.com (Sun Java(tm) System Messaging Server 7.0-5.01 64bit
 (built Feb 19 2009)) with ESMTPSA id <0KIS00FLREXE7Q90@mail-amer.sun.com> for
 LSARC-ext@Sun.COM (ORCPT LSARC-ext@Sun.COM); Mon,
 27 Apr 2009 19:32:05 -0600 (MDT)
Date: Mon, 27 Apr 2009 20:32:05 -0500
From: Brian Cameron <Brian.Cameron@sun.com>
Subject: Re: [desktop-discuss] Coherence [LSARC/2009/199 FastTrack timeout
 04/08/2009]
In-reply-to: <49F1C5F6.3060805@Sun.COM>
Sender: Brian.Cameron@sun.com
To: Darren J Moffat <Darren.Moffat@sun.com>
Cc: Alfred Peng <Alfred.Peng@sun.com>, LSARC-ext@sun.com,
        desktop-discuss@opensolaris.org
Message-id: <49F65C95.1020100@sun.com>
MIME-version: 1.0
Content-type: multipart/mixed; boundary="Boundary_(ID_2nnalEkhgk5WsfEaA36tPQ)"
X-PMX-Version: 5.4.1.325704
References: <200903260424.n2Q4OsVj023965@sac.sfbay.sun.com>
 <49F164DB.4000006@sun.com> <49F184E7.3030500@Sun.COM> <49F1C4E6.60709@sun.com>
 <49F1C5F6.3060805@Sun.COM>
User-Agent: Mozilla/5.0 (X11; U; SunOS i86pc; en-US; rv:1.9.1b3pre)
 Gecko/20090420 Thunderbird/3.0b2
Status: RO
Content-Length: 13526

This is a multi-part message in MIME format.

--Boundary_(ID_2nnalEkhgk5WsfEaA36tPQ)
Content-type: text/plain; format=flowed; charset=ISO-8859-1
Content-transfer-encoding: 7BIT


LSARC/Darren:

I have updated the case materials to indicate that we will be delivering
the SMF integration files, and using the user "upnp".  See updated
onepager, and a diff-file showing the changes since the last version.

Aside from adding information about the SMF interfaces, we also added
some text to explain in more detail how coherence uses GStreamer for
transcoding, and which specific transcodings are supported and which
are not by default.  Since many people seemed to have questions about
this, we felt it would be good to explain in more detail.

Since this addresses the last of the issues raised, I think this case
can now be considered closed.  I updated the IAM file to indicate that
it is closed approved today (04/27).

Thanks again,

Brian

--Boundary_(ID_2nnalEkhgk5WsfEaA36tPQ)
Content-type: text/plain; name=onepager-coherence.txt
Content-transfer-encoding: 7BIT
Content-disposition: attachment; filename=onepager-coherence.txt

Copyright 2009 Sun Microsystems

1. Introduction
    1.1. Project/Component Working Name:

        Coherence

    1.2. Name of Document Author/Supplier:

        Alfred Peng

    1.3. Date of This Document:

        03/13/2009

        1.3.1. Date this project was conceived:

            07/12/2007

    1.4. Name of Major Document Customer(s)/Consumer(s):

        1.4.1. The PAC or CPT you expect to review your project:

            Solaris PAC

        1.4.2. The ARC(s) you expect to review your project:

            LSARC

        1.4.3. The Director/VP who is "Sponsoring" this project:

            robert.odea@sun.com

        1.4.4. The name of your business unit:

            New Solaris Group, Desktop

    1.5. Email Aliases:

        1.5.1. Responsible Manager:

            leo.binchy@sun.com

        1.5.2. Responsible Engineer:

            alfred.peng@sun.com

        1.5.3. Marketing Manager:

            glynn.foster@sun.com

        1.5.4. Interest List:

            desktop-discuss@opensolaris.org

4. Technical Description:
    4.1. Details:
        Coherence is a DLNA (Digital Living Network Alliance)/UPnP (Universal
        Plug and Play) Framework written in Python for the Digital Living.

        The goals of UPnP are to allow devices to connect seamlessly and to
        simplify the implementation of networks in the home (data sharing,
        communications, and entertainment) and in corporate environments for
        simplified installation of computer components. With the UPnP framework,
        users can setup their home media center with PCs, wireless devices
        (mobile phones, tablet PCs etc.) and networked appliances (TVs, audio
        players, multimedia players, games consoles etc.)[2].

        Coherence is divided into three main parts: the core, the virtual
        devices, and the device backends[3]. The core of coherence provides an
        implementation of: a SSDP (Simple Service Discovery Protocol) [4]
        server, a MSEARCH (command to find other devices connected to the
        UPnP network) client to find other devices connected to the network,
        server and client for HTTP/SOAP requests, server and client for Event
        Subscription and Notification.

        The virtual devices contain: Media Server to provide media content
        (local storage or online services) and directory information,
        Media Renderer to play back media content provided by the Media Server,
        Control Point to interconnect Media Server and Media Renderer. The
        virtual device implementation registers with the core, declares which
        service interfaces it is using, and attaches callbacks which map the
        service actions to its backend. It's generally a translation map
        between the core and the device backend.

        The device backend is the part to host, render and control the media
        files. The following components could act as the device backend: file
        systems to store the media files, audio/video hardware and desktop GUI
        applications to render the media content and control the playback.

        For users, coherence can be used in conjunction with Rhythmbox, Totem or
        Elisa, and become a controllable DLNA/UPnP Media Renderer. For example,
        coherence is used in Elisa to talk with the Apple Movie trailer Media
        Server for its Movie trailer plugin and YouTube Media Server for its
        YouTube plugin. Coherence can also be configured as a DLNA/UPnP Media
        Server and exports local and remote media files via its backend to
        other UPnP clients.

        Developers get a python framework with an emerging DBus API. This
        framework is designed to automate all UPnP-related tasks as much as
        possible and enable applications to participate in digital living
        networks.

        In short, coherence provides two main features to the system:
        - Interfaces so that programs like elisa, rhythmbox, totem, etc. can
          act as Media Renderer/Control Point and connect to the UPnP servers
          on the internet.
        - Interfaces so that an UPnP Media Server can be set up on the system.

        Coherence media server can do audio/video/thumbnail transcoding by
        making use of GStreamer's decode/encode elements via the GStreamer
        Python bindings. Currently, Coherence supports the following
        transcodings:
        - ogg->pcm by using decodebin/audioconvert GStreamer elements.
        - ogg->wav by using decodebin/audioconvert/wavenc GStreamer elements.
        - ogg->mp3 doesn't work as it requires encumbered GStreamer element.
        - jpeg thumbnail by using jpegdec/videoscale/jpegenc GStreamer elements.
        - video transcoding doesn't work as it requires encumbered GStreamer
          element.

        SMF service svc:/application/upnp/coherence:default will be created to
        manage the coherence server. The server will run with user upnp and
        group upnp.

    4.2. Bug/RFE Number(s):

        None.

    4.3. In Scope:

        See above.

    4.4. Out of Scope:

        See above.
    
    4.5. Interfaces:

                               Exported  Interface
        --------------------------------------------------------------------
        Interface Name                     Classification   Comment
        --------------------------------------------------------------------
        SUNWpython24-coherence             Uncommitted      Package name for
                                                            2.4 bindings.
        SUNWpython26-coherence             Uncommitted      Package name for
                                                            2.6 bindings.
        /usr/bin/coherence                 Volatile         Coherence CLI to
                                                            start the server
        /lib/svc/method/coherence          Volatile         SMF control script
        /var/coherence/coherence*          Private          Config file and log
        /var/svc/manifest/application/coherence.xml         SMF manifest
                                           Volatile
        $HOME/.coherence                   Private          Config file
        /usr/lib/python2.4/vendor-packages/Coherence*.egg-info
                                           Uncommitted      Python egg files
        /usr/lib/python2.4/vendor-packages/coherence
                                           Uncommitted      Python API
        /usr/lib/python2.6/vendor-packages/Coherence*.egg-info
                                           Uncommitted      Python egg files
        /usr/lib/python2.6/vendor-packages/coherence
                                           Uncommitted      Python API


                               Imported  Interface
        --------------------------------------------------------------------
        Interface          Classification   Comment
        --------------------------------------------------------------------
        Python             External         PSARC/2005/532 Python
                           Evolving         Migration from /usr/sfw to /usr
                                            and upgrade to v2.4.x 
        Python 2.6         Uncommitted      PSARC/2009/043
        Python Twisted     Uncommitted      PSARC/2008/121
        Python Setuptools  Uncommitted      PSARC/2008/084
        GStreamer Python   Volatile         PSARC/2008/105

    4.6. Doc Impact:

        coherence.1
    
    4.7. Admin/Config Impact:

        Coherence looks for the configuration file named .coherence in $HOME by
        default during server startup. Alternatively with the option
        -c|--configfile the location of the configuration file can be passed.
        In the configuration file, the following parameters can be specified:
        log level, log file, interface definition for systems with more than
        one physical interface, serverport tells coherence the port to listen
        on and the plugins that will be activated.

        The configuration options can be also passed to coherence through
        commandline during startup. If no configuration is specified, the
        default value will be used for coherence server.
    
    4.8. HA Impact:

        None.
    
    4.9. I18N/L10N Impact:

        The JDS team and the G11N team are working together to evaluate and
        provide I18N/L10N support.
    
    4.10. Packaging & Delivery:

        Adds new package, SUNWpython-coherence.
    
    4.11. Security Impact:

        Coherence implements the functions to download https page to a
        string/file by importing the Python Twisted ssl module via
        twisted.internet.

        The security concern for UPnP is the lack of device authentication,
        especially for Internet gateway devices[5]. Coherence doesn't provide
        an Internet gateway device implementation now. It's designed to work
        in the home network. The media files won't be propagate to the Internet
        through multicast. When installed on a gateway, the media files are
        reachable from the outside via http.

    4.12. Dependencies:

        The following versions of the imported interfaces are required:

        Python 2.4.x
        Python 2.6
        Python Twisted
        Python Setuptools

5. Reference Documents:

    [1] Coherence homepage:
    http://coherence.beebits.net/

    [2] The DLNA/UPnP devices supported by Coherence:
    http://coherence.beebits.net/wiki/SupportedDevices

    [3] Coherence architectural overview:
    http://coherence.beebits.net/wiki/ArchitecturalOverview

    [4] SSDP:
    http://en.wikipedia.org/wiki/Simple_Service_Discovery_Protocol

    [5] UPnP security concern:
    http://en.wikipedia.org/wiki/Universal_Plug_and_Play#Lack_of_Default_Authentication

    [6] Related ARC cases:
        PSARC/2005/532: Python migration from /usr/sfw to /usr
                        and upgrade to v2.4.x
        PSARC/2008/121: Python Twisted
        PSARC/2008/084: Python Setuptools
        PSARC/2009/043: Python 2.6

--Boundary_(ID_2nnalEkhgk5WsfEaA36tPQ)
Content-type: text/plain; name=coherence.diff
Content-transfer-encoding: 7BIT
Content-disposition: attachment; filename=coherence.diff

--- /home/bc99092/onepager-coherence.txt-old	Mon Apr 27 18:25:37 2009
+++ onepager-coherence.txt	Mon Apr 27 18:25:42 2009
@@ -107,9 +107,21 @@
           on the internet.
         - Interfaces so that an UPnP Media Server can be set up on the system.
 
-        Note that the coherence media server can do transcoding.  This code
-        makes use of GStreamer via the GStreamer Python bindings.
+        Coherence media server can do audio/video/thumbnail transcoding by
+        making use of GStreamer's decode/encode elements via the GStreamer
+        Python bindings. Currently, Coherence supports the following
+        transcodings:
+        - ogg->pcm by using decodebin/audioconvert GStreamer elements.
+        - ogg->wav by using decodebin/audioconvert/wavenc GStreamer elements.
+        - ogg->mp3 doesn't work as it requires encumbered GStreamer element.
+        - jpeg thumbnail by using jpegdec/videoscale/jpegenc GStreamer elements.
+        - video transcoding doesn't work as it requires encumbered GStreamer
+          element.
 
+        SMF service svc:/application/upnp/coherence:default will be created to
+        manage the coherence server. The server will run with user upnp and
+        group upnp.
+
     4.2. Bug/RFE Number(s):
 
         None.
@@ -134,6 +146,10 @@
                                                             2.6 bindings.
         /usr/bin/coherence                 Volatile         Coherence CLI to
                                                             start the server
+        /lib/svc/method/coherence          Volatile         SMF control script
+        /var/coherence/coherence*          Private          Config file and log
+        /var/svc/manifest/application/coherence.xml         SMF manifest
+                                           Volatile
         $HOME/.coherence                   Private          Config file
         /usr/lib/python2.4/vendor-packages/Coherence*.egg-info
                                            Uncommitted      Python egg files

--Boundary_(ID_2nnalEkhgk5WsfEaA36tPQ)--

From Darren.Moffat@sun.com Tue Apr 28 04:47:19 2009
Received: from sunmail3mpk.sfbay.sun.com (sunmail3mpk.SFBay.Sun.COM [129.146.11.52])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id n3SBlJU3000476
	for <LSARC-ext@sac.sfbay.sun.com>; Tue, 28 Apr 2009 04:47:19 -0700 (PDT)
Received: from nwk-avmta-1.SFBay.Sun.COM (nwk-avmta-1.SFBay.Sun.COM [129.146.11.74])
	by sunmail3mpk.sfbay.sun.com (8.13.7+Sun/8.13.7/ENSMAIL,v2.2) with ESMTP id n3SBlJtd012625
	for <@sunmail2sca.sfbay.sun.com:LSARC-ext@sun.com>; Tue, 28 Apr 2009 04:47:19 -0700 (PDT)
Received: from pmxchannel-daemon.nwk-avmta-1.sfbay.Sun.COM by
 nwk-avmta-1.sfbay.Sun.COM
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0KIT00F037EU9P00@nwk-avmta-1.sfbay.Sun.COM> for LSARC-ext@sun.com
 (ORCPT LSARC-ext@sun.com); Tue, 28 Apr 2009 04:47:18 -0700 (PDT)
Received: from gmp-eb-inf-2.sun.com ([192.18.6.24])
 by nwk-avmta-1.sfbay.Sun.COM
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0KIT00K9Z7ET8DF0@nwk-avmta-1.sfbay.Sun.COM> for
 LSARC-ext@sun.com (ORCPT LSARC-ext@sun.com); Tue,
 28 Apr 2009 04:47:18 -0700 (PDT)
Received: from fe-emea-10.sun.com (gmp-eb-lb-1-fe3.eu.sun.com [192.18.6.10])
	by gmp-eb-inf-2.sun.com (8.13.7+Sun/8.12.9) with ESMTP id n3SBlHZd028266	for
 <LSARC-ext@sun.com>; Tue, 28 Apr 2009 11:47:17 +0000 (GMT)
Received: from conversion-daemon.fe-emea-10.sun.com by fe-emea-10.sun.com
 (Sun Java(tm) System Messaging Server 7.0-5.01 64bit (built Feb 19 2009))
 id <0KIT006006X4KN00@fe-emea-10.sun.com> for LSARC-ext@sun.com
 (ORCPT LSARC-ext@sun.com); Tue, 28 Apr 2009 12:47:17 +0100 (BST)
Received: from [192.168.1.104]
 (cpc2-rdng20-2-0-cust917.15-3.cable.virginmedia.com [86.28.167.150])
 by fe-emea-10.sun.com
 (Sun Java(tm) System Messaging Server 7.0-5.01 64bit (built Feb 19 2009))
 with ESMTPSA id <0KIT00JEX7EF2S70@fe-emea-10.sun.com> for LSARC-ext@sun.com
 (ORCPT LSARC-ext@sun.com); Tue, 28 Apr 2009 12:47:04 +0100 (BST)
Date: Tue, 28 Apr 2009 10:47:35 +0100
From: Darren J Moffat <Darren.Moffat@sun.com>
Subject: Re: [desktop-discuss] Coherence [LSARC/2009/199 FastTrack timeout
 04/08/2009]
In-reply-to: <49F65C95.1020100@sun.com>
Sender: Darren.Moffat@sun.com
To: Brian Cameron <Brian.Cameron@sun.com>
Cc: Alfred Peng <Alfred.Peng@sun.com>, LSARC-ext@sun.com,
        desktop-discuss@opensolaris.org
Message-id: <49F6D0B7.1070601@Sun.COM>
MIME-version: 1.0
Content-type: text/plain; format=flowed; charset=ISO-8859-1
Content-transfer-encoding: 7BIT
X-PMX-Version: 5.4.1.325704
References: <200903260424.n2Q4OsVj023965@sac.sfbay.sun.com>
 <49F164DB.4000006@sun.com> <49F184E7.3030500@Sun.COM> <49F1C4E6.60709@sun.com>
 <49F1C5F6.3060805@Sun.COM> <49F65C95.1020100@sun.com>
User-Agent: Thunderbird 2.0.0.18 (X11/20090211)
Status: RO
Content-Length: 965

Brian Cameron wrote:
> 
> LSARC/Darren:
> 
> I have updated the case materials to indicate that we will be delivering
> the SMF integration files, and using the user "upnp".  See updated
> onepager, and a diff-file showing the changes since the last version.
> 
> Aside from adding information about the SMF interfaces, we also added
> some text to explain in more detail how coherence uses GStreamer for
> transcoding, and which specific transcodings are supported and which
> are not by default.  Since many people seemed to have questions about
> this, we felt it would be good to explain in more detail.
> 
> Since this addresses the last of the issues raised, I think this case
> can now be considered closed.  I updated the IAM file to indicate that
> it is closed approved today (04/27).

Thanks, I'm very happy with the final spec.

As an aside I'm waiting on this for a future LOSUG presentation on 
"OpenSolaris for the living room".

--
Darren J Moffat


From Brian.Cameron@Sun.COM Fri Jun  5 10:15:04 2009
Received: from newsunmail1brm.central.sun.com (newsunmail1brm.Central.Sun.COM [129.147.62.245])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id n55HF3PW016141
	for <LSARC-ext@sac.sfbay.sun.com>; Fri, 5 Jun 2009 10:15:03 -0700 (PDT)
Received: from brm-avmta-1.central.sun.com (brm-avmta-1.Central.Sun.COM [129.147.4.11])
	by newsunmail1brm.central.sun.com (8.13.7+Sun/8.13.7/ENSMAIL,v2.2) with ESMTP id n55HF2kp007919
	for <@sunmail2sca.sfbay.sun.com:LSARC-ext@sun.com>; Fri, 5 Jun 2009 11:15:03 -0600 (MDT)
Received: from pmxchannel-daemon.brm-avmta-1.central.sun.com by
 brm-avmta-1.central.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0KKR00B0JZX2SM00@brm-avmta-1.central.sun.com> for LSARC-ext@sun.com
 (ORCPT LSARC-ext@sun.com); Fri, 05 Jun 2009 11:15:02 -0600 (MDT)
Received: from brmea-mail-4.sun.com ([192.18.98.36])
 by brm-avmta-1.central.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0KKR00DEMZX19VE0@brm-avmta-1.central.sun.com> for
 LSARC-ext@sun.com (ORCPT LSARC-ext@sun.com); Fri,
 05 Jun 2009 11:15:01 -0600 (MDT)
Received: from fe-amer-10.sun.com ([192.18.109.80])
	by brmea-mail-4.sun.com (8.13.6+Sun/8.12.9) with ESMTP id n55HF1h3022548	for
 <LSARC-ext@sun.com>; Fri, 05 Jun 2009 17:15:01 +0000 (GMT)
Received: from conversion-daemon.mail-amer.sun.com by mail-amer.sun.com
 (Sun Java(tm) System Messaging Server 7u2-7.02 64bit (built Apr 16 2009))
 id <0KKR00700Z0X7400@mail-amer.sun.com> for LSARC-ext@sun.com
 (ORCPT LSARC-ext@sun.com); Fri, 05 Jun 2009 11:15:01 -0600 (MDT)
Received: from [129.153.250.170] ([unknown] [129.153.250.170])
 by mail-amer.sun.com
 (Sun Java(tm) System Messaging Server 7u2-7.02 64bit (built Apr 16 2009))
 with ESMTPSA id <0KKR007FVZWU2G90@mail-amer.sun.com>; Fri,
 05 Jun 2009 11:14:54 -0600 (MDT)
Date: Fri, 05 Jun 2009 12:15:01 -0500
From: Brian Cameron <Brian.Cameron@Sun.COM>
Subject: Re: Coherence [LSARC/2009/199 FastTrack timeout 04/08/2009]
In-reply-to: <200903260424.n2Q4OsVj023965@sac.sfbay.sun.com>
Sender: Brian.Cameron@Sun.COM
To: Brian Cameron <bc99092@sac.sfbay.sun.com>
Cc: LSARC-ext@Sun.COM, Alfred.Peng@Sun.COM, desktop-discuss@opensolaris.org
Message-id: <4A295295.70208@sun.com>
MIME-version: 1.0
Content-type: text/plain; CHARSET=US-ASCII; format=flowed
Content-transfer-encoding: 7BIT
X-PMX-Version: 5.4.1.325704
References: <200903260424.n2Q4OsVj023965@sac.sfbay.sun.com>
User-Agent: Thunderbird 2.0.0.21 (X11/20090505)
Status: RO
Content-Length: 10348


A minor change to the coherence onepager.  The following package was
added to the Exported Interface table to contain the SMF integration
files.

   SUNWpython24-coherence-root        Uncommitted      Package name to
                                                       contain SMF
                                                       integration files.

And also section 4.10 was updated to list the new package name as well:

  4.10. Packaging & Delivery:

      Adds new packages: SUNWpython24-coherence,
      SUNWpython24-coherence-root, and SUNWpython26-coherence

Brian


Brian Cameron wrote:
> Template Version: @(#)sac_nextcase 1.68 02/23/09 SMI
> This information is Copyright 2009 Sun Microsystems
> 1. Introduction
>     1.1. Project/Component Working Name:
> 	 Coherence
>     1.2. Name of Document Author/Supplier:
> 	 Author:  Alfred Peng
>     1.3  Date of This Document:
> 	25 March, 2009
> 4. Technical Description
> Copyright 2009 Sun Microsystems
> 
> 1. Introduction
>     1.1. Project/Component Working Name:
> 
>         Coherence
> 
>     1.2. Name of Document Author/Supplier:
> 
>         Alfred Peng
> 
>     1.3. Date of This Document:
> 
>         03/13/2009
> 
>         1.3.1. Date this project was conceived:
> 
>             07/12/2007
> 
>     1.4. Name of Major Document Customer(s)/Consumer(s):
> 
>         1.4.1. The PAC or CPT you expect to review your project:
> 
>             Solaris PAC
> 
>         1.4.2. The ARC(s) you expect to review your project:
> 
>             LSARC
> 
>         1.4.3. The Director/VP who is "Sponsoring" this project:
> 
>             robert.odea@sun.com
> 
>         1.4.4. The name of your business unit:
> 
>             New Solaris Group, Desktop
> 
>     1.5. Email Aliases:
> 
>         1.5.1. Responsible Manager:
> 
>             leo.binchy@sun.com
> 
>         1.5.2. Responsible Engineer:
> 
>             alfred.peng@sun.com
> 
>         1.5.3. Marketing Manager:
> 
>             glynn.foster@sun.com
> 
>         1.5.4. Interest List:
> 
>             desktop-discuss@opensolaris.org
> 
> 4. Technical Description:
>     4.1. Details:
>         Coherence is a DLNA (Digital Living Network Alliance)/UPnP (Universal
>         Plug and Play) Framework written in Python for the Digital Living.
> 
>         The goals of UPnP are to allow devices to connect seamlessly and to
>         simplify the implementation of networks in the home (data sharing,
>         communications, and entertainment) and in corporate environments for
>         simplified installation of computer components. With the UPnP framework,
>         users can setup their home media center with PCs, wireless devices
>         (mobile phones, tablet PCs etc.) and networked appliances (TVs, audio
>         players, multimedia players, games consoles etc.)[2].
> 
>         Coherence is divided into three main parts: the core, the virtual
>         devices, and the device backends[3]. The core of coherence provides an
>         implementation of: a SSDP (Simple Service Discovery Protocol) [4]
>         server, a MSEARCH (command to find other devices connected to the
>         UPnP network) client to find other devices connected to the network,
>         server and client for HTTP/SOAP requests, server and client for Event
>         Subscription and Notification.
> 
>         The virtual devices contain: Media Server to provide media content
>         (local storage or online services) and directory information,
>         Media Renderer to play back media content provided by the Media Server,
>         Control Point to interconnect Media Server and Media Renderer. The
>         virtual device implementation registers with the core, declares which
>         service interfaces it is using, and attaches callbacks which map the
>         service actions to its backend. It's generally a translation map
>         between the core and the device backend.
> 
>         The device backend is the part to host, render and control the media
>         files. The following components could act as the device backend: file
>         systems to store the media files, audio/video hardware and desktop GUI
>         applications to render the media content and control the playback.
> 
>         For users, coherence can be used in conjunction with Rhythmbox, Totem or
>         Elisa, and become a controllable DLNA/UPnP Media Renderer. For example,
>         coherence is used in Elisa to talk with the Apple Movie trailer Media
>         Server for its Movie trailer plugin and YouTube Media Server for its
>         YouTube plugin. Coherence can also be configured as a DLNA/UPnP Media
>         Server and exports local and remote media files via its backend to
>         other UPnP clients.
> 
>         Developers get a python framework with an emerging DBus API. This
>         framework is designed to automate all UPnP-related tasks as much as
>         possible and enable applications to participate in digital living
>         networks.
> 
>         In short, coherence provides two main features to the system:
>         - Interfaces so that programs like elisa, rhythmbox, totem, etc. can
>           act as Media Renderer/Control Point and connect to the UPnP servers
>           on the internet.
>         - Interfaces so that an UPnP Media Server can be set up on the system.
> 
>     4.2. Bug/RFE Number(s):
> 
>         None.
> 
>     4.3. In Scope:
> 
>         See above.
> 
>     4.4. Out of Scope:
> 
>         See above.
>     
>     4.5. Interfaces:
> 
>                                Exported  Interface
>         --------------------------------------------------------------------
>         Interface Name                     Classification   Comment
>         --------------------------------------------------------------------
>         SUNWpython-coherence               Uncommitted      Package name
>         /usr/bin/coherence                 Volatile         Coherence CLI to
>                                                             start the server
>         $HOME/.coherence                   Private          Config file
>         /usr/lib/python2.4/vendor-packages/Coherence*.egg-info
>                                            Uncommitted      Python egg files
>         /usr/lib/python2.4/vendor-packages/coherence
>                                            Uncommitted      Python API
>         /usr/lib/python2.6/vendor-packages/Coherence*.egg-info
>                                            Uncommitted      Python egg files
>         /usr/lib/python2.6/vendor-packages/coherence
>                                            Uncommitted      Python API
> 
> 
>                                Imported  Interface
>         --------------------------------------------------------------------
>         Interface          Classification   Comment
>         --------------------------------------------------------------------
>         Python             External         PSARC/2005/532 Python
>                            Evolving         Migration from /usr/sfw to /usr
>                                             and upgrade to v2.4.x 
>         Python 2.6         Uncommitted      PSARC/2009/043
>         Python Twisted     Uncommitted      PSARC/2008/121
>         Python Setuptools  Uncommitted      PSARC/2008/084
> 
>     4.6. Doc Impact:
> 
>         coherence.1
>     
>     4.7. Admin/Config Impact:
> 
>         Coherence looks for the configuration file named .coherence in $HOME by
>         default during server startup. Alternatively with the option
>         -c|--configfile the location of the configuration file can be passed.
>         In the configuration file, the following parameters can be specified:
>         log level, log file, interface definition for systems with more than
>         one physical interface, serverport tells coherence the port to listen
>         on and the plugins that will be activated.
> 
>         The configuration options can be also passed to coherence through
>         commandline during startup. If no configuration is specified, the
>         default value will be used for coherence server.
>     
>     4.8. HA Impact:
> 
>         None.
>     
>     4.9. I18N/L10N Impact:
> 
>         The JDS team and the G11N team are working together to evaluate and
>         provide I18N/L10N support.
>     
>     4.10. Packaging & Delivery:
> 
>         Adds new package, SUNWpython-coherence.
>     
>     4.11. Security Impact:
> 
>         Coherence implements the functions to download https page to a
>         string/file by importing the Python Twisted ssl module via
>         twisted.internet.
> 
>         The security concern for UPnP is the lack of device authentication,
>         especially for Internet gateway devices[5]. Coherence doesn't provide
>         an Internet gateway device implementation now. It's designed to work
>         in the home network. The media files won't be propagate to the Internet
>         through multicast. When installed on a gateway, the media files are
>         reachable from the outside via http.
> 
>     4.12. Dependencies:
> 
>         The following versions of the imported interfaces are required:
> 
>         Python 2.4.x
>         Python 2.6
>         Python Twisted
>         Python Setuptools
> 
> 5. Reference Documents:
> 
>     [1] Coherence homepage:
>     http://coherence.beebits.net/
> 
>     [2] The DLNA/UPnP devices supported by Coherence:
>     http://coherence.beebits.net/wiki/SupportedDevices
> 
>     [3] Coherence architectural overview:
>     http://coherence.beebits.net/wiki/ArchitecturalOverview
> 
>     [4] SSDP:
>     http://en.wikipedia.org/wiki/Simple_Service_Discovery_Protocol
> 
>     [5] UPnP security concern:
>     http://en.wikipedia.org/wiki/Universal_Plug_and_Play#Lack_of_Default_Authentication
> 
>     [6] Related ARC cases:
>         PSARC/2005/532: Python migration from /usr/sfw to /usr
>                         and upgrade to v2.4.x
>         PSARC/2008/121: Python Twisted
>         PSARC/2008/084: Python Setuptools
>         PSARC/2009/043: Python 2.6
> 
> 6. Resources and Schedule
>     6.4. Steering Committee requested information
>    	6.4.1. Consolidation C-team Name:
> 		Desktop
>     6.5. ARC review type: FastTrack
>     6.6. ARC Exposure: open
> 


