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>" );
Example | Stream Functions |
Argument | Description |
---|---|
ID | The StreamID to be used in other actions on the stream. The ID is created with this function call. An integer greater than 0. |
State | A 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.
Enum | Value | Event occurs when |
---|---|---|
STREAM_STATUS_INIT | 0 | Callback event after the stream item created. Before the stream data transformed in API web_stream_open |
STREAM_STATUS_START | 1 | Callback event when start the data transform |
STREAM_STATUS_RELOAD | 2 | Callback event when reload the url(for live video) |
STREAM_STATUS_BUFFERING | 3 | Callback event when the playing time > buffer data loaded |
STREAM_STATUS_CLOSE | 4 | Callback event after the streaming closed |
STREAM_STATUS_PLAY | 5 | Callback event after the streaming set to play |
STREAM_STATUS_PAUSE | 6 | Callback event after the streaming set to pause |
STREAM_STATUS_SEEK | 7 | Callback event when seek a specific time |
STREAM_STATUS_STOP | 8 | Callback event after the streaming stopped |
STREAM_STATUS_FAIL | 9 | Callback 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;
}