grass valley developers

Home > APIs > AppServer API > Examples > Summit API Features > Live Play

Live Play

On a Summit Client you now have the ability to play a currently recording asset in Live Mode. This means that the player will play within a 0.5 second of the record position.

Note: the Summit must have an AppCenter Pro license for this feature to work.

Note: playing live only works if the asset is currently being recorded on a channel that is on the same Summit Client as the player channel.

Check if a channel is in Live Mode:
You can check if a channel is in Live Mode by querying a ChanStatus object's "CountdownStr" property (see Get channel status properties). Normally, this property would return a timecode string representing the amount of play time left on the timeline. In Live Mode this property will return the string "Live".

string countdown = (string) ichanStatus.GetStatus("CountdownStr");


Setup a channel for Live Mode:
Full sample code can be downloaded from the C# Script Samples page. Look for the sample named LivePlay.cs.

Below is a code snippet showing how to setup Live Mode on a player.

[C#]
// setup defaults
string volume = "V:";
string bin = "default";
string clip = "Clip";
string clipUri = String.Format("edl/cmf//local/{0}/{1}/{2}", volume, bin, clip);

// after starting a recording, you need to wait until the clip is 
// under construction. if you don't wait and you tell the player to 
// go into live mode, the player will cue to the start of the clip 
// instead and you will see this message in the log:
// "Can't go live: not under construction. Cueing to 0."

// wait until the clip is under construction...
while ( true != (bool) mediaMgr.GetProperty(clipUri, "underConstruction") )
{
	Thread.Sleep(50);
}						

// load the recording clip onto the player
player.Load(clipUri);

// Cue to the live position and start playing. in this case the command
// name "cue" is a bit of a misnomer since this command does more than
// just cueing here. it cues to the latest updated play position which
// will be within a 0.5 second of the record position and starts playing.
// 
// note: playing live only works if the asset is currently being recorded
// on a channel that is on the same Summit as the player channel.
player.Cue("live");