Commit 9f8d8a7f authored by Derk-Jan Hartman's avatar Derk-Jan Hartman

* merging kasenna changes from 0.8.1 branch to the trunk

  r9296:9299 changes
parent c523828d
...@@ -64,7 +64,7 @@ static void Close( vlc_object_t * ); ...@@ -64,7 +64,7 @@ static void Close( vlc_object_t * );
"value should be set in millisecond units." ) "value should be set in millisecond units." )
#define KASENNA_TEXT N_( "Kasenna RTSP dialect") #define KASENNA_TEXT N_( "Kasenna RTSP dialect")
#define KASENNA_LONGTEXT N_( "Kasenna server speak an old and unstandard dialect of RTSP " \ #define KASENNA_LONGTEXT N_( "Kasenna server speaks an old and unstandard dialect of RTSP. " \
"When you set this parameter, VLC will try this dialect for communication. In " \ "When you set this parameter, VLC will try this dialect for communication. In " \
"this mode you cannot talk to normal RTSP servers." ) "this mode you cannot talk to normal RTSP servers." )
...@@ -243,12 +243,12 @@ static int Open ( vlc_object_t *p_this ) ...@@ -243,12 +243,12 @@ static int Open ( vlc_object_t *p_this )
sprintf( psz_url, "rtsp://%s", p_demux->psz_path ); sprintf( psz_url, "rtsp://%s", p_demux->psz_path );
/* Add kasenna option */ /* Add kasenna option */
if( var_CreateGetBool( p_demux, "rtsp-kasenna" )) msg_Dbg(p_demux, "add kasenna option");
psz_options = p_sys->rtsp->sendOptionsCmd( psz_url ); psz_options = p_sys->rtsp->sendOptionsCmd( psz_url );
if( psz_options ) if( psz_options )
delete [] psz_options; delete [] psz_options;
p_sdp = (uint8_t*)p_sys->rtsp->describeURL( psz_url ); p_sdp = (uint8_t*)p_sys->rtsp->describeURL( psz_url,
NULL, var_CreateGetBool( p_demux, "rtsp-kasenna" ) );
if( p_sdp == NULL ) if( p_sdp == NULL )
{ {
msg_Err( p_demux, "describeURL failed (%s)", p_sys->env->getResultMsg() ); msg_Err( p_demux, "describeURL failed (%s)", p_sys->env->getResultMsg() );
...@@ -479,10 +479,6 @@ static int Open ( vlc_object_t *p_this ) ...@@ -479,10 +479,6 @@ static int Open ( vlc_object_t *p_this )
{ {
tk->fmt.i_codec = VLC_FOURCC( 'M', 'J', 'P', 'G' ); tk->fmt.i_codec = VLC_FOURCC( 'M', 'J', 'P', 'G' );
} }
else if( !strcmp( sub->codecName(), "X-SV3V-ES" ) )
{
tk->fmt.i_codec = VLC_FOURCC( 'S', 'V', 'Q', '3' );
}
else if( !strcmp( sub->codecName(), "MP4V-ES" ) ) else if( !strcmp( sub->codecName(), "MP4V-ES" ) )
{ {
unsigned int i_extra; unsigned int i_extra;
...@@ -498,7 +494,9 @@ static int Open ( vlc_object_t *p_this ) ...@@ -498,7 +494,9 @@ static int Open ( vlc_object_t *p_this )
delete[] p_extra; delete[] p_extra;
} }
} }
else if( !strcmp( sub->codecName(), "X-QT" ) || !strcmp( sub->codecName(), "X-QUICKTIME" ) ) else if( !strcmp( sub->codecName(), "X-QT" ) || !strcmp( sub->codecName(), "X-QUICKTIME" ) ||
!strcmp( sub->codecName(), "X-QDM" ) || !strcmp( sub->codecName(), "X-SV3V-ES" ) ||
!strcmp( sub->codecName(), "X-SORENSONVIDEO" ) )
{ {
tk->b_quicktime = VLC_TRUE; tk->b_quicktime = VLC_TRUE;
} }
......
...@@ -30,23 +30,66 @@ ...@@ -30,23 +30,66 @@
* This stems from the fact that the MediaBase servers were first introduced by SGI?????. * This stems from the fact that the MediaBase servers were first introduced by SGI?????.
* *
* sgiNameServerHost=host.name.tld * sgiNameServerHost=host.name.tld
* Obvious: the host hosting this stream
* Stream="xdma://host.name.tld/demo/a_very_cool.mpg" * Stream="xdma://host.name.tld/demo/a_very_cool.mpg"
* Not always present. xdma can be read as RTSP.
* sgiMovieName=/demo/a_very_cool.mpg * sgiMovieName=/demo/a_very_cool.mpg
* sgiAuxState=1 * The path to the asset
* sgiAuxState=1|2
* AuxState=2 is always Video On Demand (so not Scheduled)
* Not present with Live streams
* sgiLiveFeed=True|False
* Denounces if the stream is live or from assets (Canned?)
* Live appears as a little sattelite dish in the web interface of Kasenna
* sgiFormatName=PARTNER_41_MPEG-4 * sgiFormatName=PARTNER_41_MPEG-4
* The type of stream. One of:
* PARTNER_41_MPEG-4 (RTSP MPEG-4 fully compliant)
* MPEG1-Audio (MP3 Audio streams in MPEG TS)
* MPEG-1 (MPEG 1 A/V in MPEG TS)
* MPEG-2 (MPEG 2 A/V in MPEG TS)
* sgiWidth=720
* The width of the to be received stream. Only present if stream is not Live.
* sgiHeight=576
* The height of the to be received stream. Only present if stream is not Live.
* sgiBitrate=1630208 * sgiBitrate=1630208
* The bitrate of the to be received stream. Only present if stream is not Live.
* sgiDuration=378345000 * sgiDuration=378345000
* The duration of the to be received stream. Only present if stream is not Live.
* sgiQTFileBegin * sgiQTFileBegin
* rtsptext * rtsptext
* rtsp://host.name.tld/demo/a_very_cool.mpg * rtsp://host.name.tld/demo/a_very_cool.mpg
* sgiQTFileEnd * sgiQTFileEnd
* Sometimes present. QT will recognize this as a RTSP reference file, if present.
* sgiApplicationName=MediaBaseURL * sgiApplicationName=MediaBaseURL
* Beats me !! :)
* sgiElapsedTime=0 * sgiElapsedTime=0
* Time passed since the asset was started (resets for repeating non live assets?)
* sgiMulticastAddress=233.81.233.15
* The multicast IP used for the Multicast feed.
* Also defines if a stream is multicast or not. (blue dot in kasenna web interface)
* sgiMulticastPort=1234
* The multicast port for the same Multicast feed.
* sgiPacketSize=16384
* The packetsize of the UDP frames that Kasenna sends. They should have used a default
* that is a multiple of 188 (TS frame size). Most networks don't support more than 1500 anyways.
* Also, when you loose a frame of this size, imagecorruption is more likely then with smaller
* frames.
* sgiServerVersion=6.1.2 * sgiServerVersion=6.1.2
* Version of the server
* sgiRtspPort=554 * sgiRtspPort=554
* TCP port used for RTSP communication
* AutoStart=True * AutoStart=True
* Start playing automatically
* DeliveryService=cds
* Simulcasted (scheduled unicast) content. (Green dot in Kasenna web interface)
* sgiShowingName=A nice name that everyone likes
* A human readible descriptive title for this stream.
* sgiSid=2311
* Looks like this is the ID of the scheduled asset?
* sgiUserAccount=pid=1724&time=1078527309&displayText=You%20are%20logged%20as%20guest& * sgiUserAccount=pid=1724&time=1078527309&displayText=You%20are%20logged%20as%20guest&
* User Authentication. Above is a default guest entry. Not required for RTSP communication.
* sgiUserPassword= * sgiUserPassword=
* Password :)
* *
*****************************************************************************/ *****************************************************************************/
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment