Add statistics functions to outputs
Total bytes, total frames, and frames dropped. Total frames is generated automatically, but total bytes and total dropped frames are returned via callbacks.master
parent
64074e9fda
commit
3d1c132989
|
@ -341,6 +341,27 @@ void obs_output_set_reconnect_settings(obs_output_t output,
|
|||
output->reconnect_retry_sec = retry_sec;
|
||||
}
|
||||
|
||||
uint64_t obs_output_get_total_bytes(obs_output_t output)
|
||||
{
|
||||
if (!output || !output->info.total_bytes)
|
||||
return 0;
|
||||
|
||||
return output->info.total_bytes(output->context.data);
|
||||
}
|
||||
|
||||
int obs_output_get_frames_dropped(obs_output_t output)
|
||||
{
|
||||
if (!output || !output->info.dropped_frames)
|
||||
return 0;
|
||||
|
||||
return output->info.dropped_frames(output->context.data);
|
||||
}
|
||||
|
||||
int obs_output_get_total_frames(obs_output_t output)
|
||||
{
|
||||
return output ? output->total_frames : 0;
|
||||
}
|
||||
|
||||
void obs_output_set_video_conversion(obs_output_t output,
|
||||
const struct video_scale_info *conversion)
|
||||
{
|
||||
|
|
|
@ -52,6 +52,10 @@ struct obs_output_info {
|
|||
obs_properties_t (*properties)(void);
|
||||
|
||||
void (*pause)(void *data);
|
||||
|
||||
uint64_t (*total_bytes)(void *data);
|
||||
|
||||
int (*dropped_frames)(void *data);
|
||||
};
|
||||
|
||||
EXPORT void obs_register_output_s(const struct obs_output_info *info,
|
||||
|
|
|
@ -855,6 +855,10 @@ EXPORT obs_service_t obs_output_get_service(obs_output_t output);
|
|||
EXPORT void obs_output_set_reconnect_settings(obs_output_t output,
|
||||
int retry_count, int retry_sec);
|
||||
|
||||
EXPORT uint64_t obs_output_get_total_bytes(obs_output_t output);
|
||||
EXPORT int obs_output_get_frames_dropped(obs_output_t output);
|
||||
EXPORT int obs_output_get_total_frames(obs_output_t output);
|
||||
|
||||
/* ------------------------------------------------------------------------- */
|
||||
/* Functions used by outputs */
|
||||
|
||||
|
|
Loading…
Reference in New Issue