SWITCH_MESSAGE_PROGRESS_EVENT,
SWITCH_MESSAGE_RING_EVENT,
SWITCH_MESSAGE_RESAMPLE_EVENT,
+ SWITCH_MESSAGE_HEARTBEAT_EVENT,
SWITCH_MESSAGE_INVALID
} switch_core_session_message_types_t;
if (session->read_codec && !session->track_id && session->track_duration) {
if (session->read_frame_count == 0) {
switch_event_t *event;
+ switch_core_session_message_t msg = { 0 };
+
session->read_frame_count = (session->read_impl.actual_samples_per_second / session->read_impl.samples_per_packet) * session->track_duration;
+ msg.message_id = SWITCH_MESSAGE_HEARTBEAT_EVENT;
+ switch_core_session_receive_message(session, &msg);
+
switch_event_create(&event, SWITCH_EVENT_SESSION_HEARTBEAT);
switch_channel_event_set_data(session->channel, event);
switch_event_fire(&event);
"PROGRESS_EVENT",
"RING_EVENT",
"RESAMPLE_EVENT",
+ "HEARTBEAT_EVENT",
"INVALID"
};
switch_event_t *event;
switch_core_session_t *session;
char *uuid = task->cmd_arg;
+ switch_core_session_message_t msg = { 0 };
if ((session = switch_core_session_locate(uuid))) {
switch_event_create(&event, SWITCH_EVENT_SESSION_HEARTBEAT);
/* reschedule this task */
task->runtime = switch_epoch_time_now(NULL) + session->track_duration;
+ msg.message_id = SWITCH_MESSAGE_HEARTBEAT_EVENT;
+ switch_core_session_receive_message(session, &msg);
+
switch_core_session_rwunlock(session);
}
}