mirror of
https://github.com/mpv-player/mpv
synced 2024-12-16 20:05:07 +00:00
4c3f042777
Do so by using mp_subprocess(). Although this uses completely different code on Unix too, you shouldn't notice a difference. A less ncie thing is that this reserves an entire thread while the command is running (which wastes some memory for stack, at least). But this is probably still the simplest way, and the fork() trick is apparently not implementable with posix_subprocess().
39 lines
1.3 KiB
C
39 lines
1.3 KiB
C
#ifndef MP_MSG_CONTROL_H
|
|
#define MP_MSG_CONTROL_H
|
|
|
|
#include <stdbool.h>
|
|
|
|
struct mpv_global;
|
|
void mp_msg_init(struct mpv_global *global);
|
|
void mp_msg_uninit(struct mpv_global *global);
|
|
void mp_msg_update_msglevels(struct mpv_global *global);
|
|
void mp_msg_mute(struct mpv_global *global, bool mute);
|
|
void mp_msg_force_stderr(struct mpv_global *global, bool force_stderr);
|
|
bool mp_msg_has_status_line(struct mpv_global *global);
|
|
|
|
void mp_msg_flush_status_line(struct mp_log *log);
|
|
|
|
struct mp_log_buffer_entry {
|
|
char *prefix;
|
|
int level;
|
|
char *text;
|
|
};
|
|
|
|
struct mp_log_buffer;
|
|
struct mp_log_buffer *mp_msg_log_buffer_new(struct mpv_global *global,
|
|
int size, int level,
|
|
void (*wakeup_cb)(void *ctx),
|
|
void *wakeup_cb_ctx);
|
|
void mp_msg_log_buffer_destroy(struct mp_log_buffer *buffer);
|
|
struct mp_log_buffer_entry *mp_msg_log_buffer_read(struct mp_log_buffer *buffer);
|
|
|
|
int mp_msg_open_stats_file(struct mpv_global *global, const char *path);
|
|
|
|
struct bstr;
|
|
int mp_msg_split_msglevel(struct bstr *s, struct bstr *out_mod, int *out_level);
|
|
|
|
extern const char *const mp_log_levels[MSGL_MAX + 1];
|
|
extern const int mp_mpv_log_levels[MSGL_MAX + 1];
|
|
|
|
#endif
|