Web Stream Event Callback

Invoked zero or more times when an event occurs.

C Language

void <name chosen by function creator> ( "ID=<string>", "State=<n>" );

ExampleStream Functions

Argument Description
IDThe StreamID to be used in other actions on the stream. The ID is created with this function call. An integer greater than 0.
StateA value of WEB_STREAM_CB_EVENT_ENUM

Return Values

No value returned.

Parameterization

Standard parameterization is not available for this function.

General Information

The event report callback is invoked zero or more times when events occur.

WEB_STREAM_CB_EVENT_ENUM
EnumValue

Event occurs when

STREAM_STATUS_INIT0Callback event after the stream item created. Before the stream data transformed in API web_stream_open
STREAM_STATUS_START1Callback event when start the data transform
STREAM_STATUS_RELOAD2Callback event when reload the url(for live video)
STREAM_STATUS_BUFFERING3Callback event when the playing time > buffer data loaded
STREAM_STATUS_CLOSE4Callback event after the streaming closed
STREAM_STATUS_PLAY5Callback event after the streaming set to play
STREAM_STATUS_PAUSE6Callback event after the streaming set to pause
STREAM_STATUS_SEEK7Callback event when seek a specific time
STREAM_STATUS_STOP8Callback event after the streaming stopped
STREAM_STATUS_FAIL9Callback event after the streaming stopped on failure

Example

This is an example of a web streaming script:

Action()

{

      /**

      HTML5 Video

      /*/

      web_stream_open("ID=1", "URL=http://my_server/streaming-test/Video2/Class%20-%206.mp4", "EventReportCB=PrintBytes", "Protocol=HTTP", "StreamBufferingTimeout=38", LAST);

      web_stream_set_param_double("1",SPEED, 2.0);

      web_stream_set_param_int("1", BANDWIDTH, 2000000);

      web_stream_set_param_int("1", BUFFERING_TIMEOUT, 60);

 

      web_stream_get_state_string("1", SERVER_IP, "ServerIP");

      lr_output_message("IP:, %s",lr_eval_string("{ServerIP}"));

      lr_output_message("Movie Length : %lf",web_stream_get_param_double("1", Duration));

 

      /***

      Play a video. Seek forward, seek backward, seek from the beginning, pause, and stop.

      **/

      //Play for 30 sec

 

      lr_think_time(15);

      lr_start_transaction("HTTP Stream");

 

      web_stream_play("ID=1", "PlayingDuration=30", "Speed=1.5", LAST);

      lr_vuser_status_message("Current time in movie:%lf", web_stream_get_param_double("1", CURRENT_TIME));

 

      web_stream_pause("ID=1","PausingDuration=20", LAST);

      lr_vuser_status_message("Current time in movie:%lf", web_stream_get_param_double("1", CURRENT_TIME));

 

      web_stream_play("ID=1", "PlayingDuration=10", LAST);

      lr_vuser_status_message("Current time in movie:%lf", web_stream_get_param_double("1", CURRENT_TIME));

 

      web_stream_seek("ID=1", "TimeOffset=11", LAST);

      lr_vuser_status_message("Current time in movie:%lf", web_stream_get_param_double("1", CURRENT_TIME));

 

      web_stream_play("ID=1", "PlayingDuration=10", LAST);

      lr_vuser_status_message("Current time in movie:%lf", web_stream_get_param_double("1", CURRENT_TIME));

 

      web_stream_seek("ID=1", "RelativeOffset=90", LAST);

      lr_vuser_status_message("Current time in movie:%lf", web_stream_get_param_double("1", CURRENT_TIME));

 

      web_stream_play("ID=1", "PlayingDuration=10", LAST);

      lr_vuser_status_message("Current time in movie:%lf", web_stream_get_param_double("1", CURRENT_TIME));

 

      web_stream_seek("ID=1", "RelativeOffset=-17", LAST);

      lr_vuser_status_message("Current time in movie:%lf", web_stream_get_param_double("1", CURRENT_TIME));

 

      web_stream_stop("ID=1", LAST);

 

      lr_end_transaction("HTTP Stream", LR_AUTO);

 

      web_stream_close("ID=1", LAST);

 

      return 0;

}