diff --git a/daemon/media_player.c b/daemon/media_player.c index 73e4ce336..0eff644e9 100644 --- a/daemon/media_player.c +++ b/daemon/media_player.c @@ -27,6 +27,7 @@ #include "arena.h" #define DEFAULT_AVIO_BUFSIZE 4096 +#define KERNEL_IDX_NONE UINT_MAX typedef enum { MPC_OK = 0, @@ -74,7 +75,7 @@ struct media_player_cache_entry { cache_packet_arr *packets; // read-only except for decoder thread, which uses finished flags and locks unsigned long duration; // cumulative in ms, summed up while decoding - unsigned int kernel_idx; // -1 if not in use + unsigned int kernel_idx; // KERNEL_IDX_NONE if not in use media_player_ht wait_queue; // players waiting on decoder to finish struct codec_scheduler csch; @@ -192,7 +193,7 @@ static void media_player_shutdown(struct media_player *mp) { mp->media = NULL; media_player_coder_shutdown(&mp->coder); - if (mp->kernel_idx != -1) + if (mp->kernel_idx != KERNEL_IDX_NONE) kernel_stop_stream_player(mp->kernel_idx); else if (mp->cache_entry) { mutex_lock(&mp->cache_entry->lock); @@ -207,7 +208,7 @@ static void media_player_shutdown(struct media_player *mp) { mp->cache_index.file = STR_NULL;// coverity[missing_lock : FALSE] obj_release(mp->cache_entry); // coverity[missing_lock : FALSE] mp->cache_read_idx = 0; - mp->kernel_idx = -1; + mp->kernel_idx = KERNEL_IDX_NONE; } #endif @@ -254,7 +255,7 @@ void media_player_new(struct media_player **mpp, struct call_monologue *ml, stru mp->tt_obj.tt = &media_player_thread; mutex_init(&mp->lock); - mp->kernel_idx = -1; + mp->kernel_idx = KERNEL_IDX_NONE; mp->run_func = media_player_read_packet; // default mp->call = obj_get(ml->call); @@ -677,7 +678,7 @@ static void media_player_cached_reader_start(struct media_player *mp, str_case_v __media_player_set_opts(mp, mp->opts); - if (entry->kernel_idx != -1) { + if (entry->kernel_idx != KERNEL_IDX_NONE) { media_player_kernel_player_start(mp); return; } @@ -772,10 +773,10 @@ static bool media_player_cache_get_entry(struct media_player *mp, t_hash_table_insert(media_player_cache, ins_key, obj_get(entry)); - entry->kernel_idx = -1; + entry->kernel_idx = KERNEL_IDX_NONE; if (kernel.use_player) { entry->kernel_idx = kernel_get_packet_stream(); - if (entry->kernel_idx == -1) + if (entry->kernel_idx == KERNEL_IDX_NONE) ilog(LOG_ERR, "Failed to get kernel packet stream entry (%s)", strerror(errno)); else ilog(LOG_DEBUG, "Using kernel packet stream index %i", entry->kernel_idx); @@ -867,7 +868,7 @@ static void packet_encoded_cache(struct codec_ssrc_handler *ch, struct media_pac mutex_lock(&entry->lock); t_ptr_array_add(entry->packets, ep); - if (entry->kernel_idx != -1) { + if (entry->kernel_idx != KERNEL_IDX_NONE) { ilog(LOG_DEBUG, "Adding media packet (length %zu, TS %" PRIu64 ", delay %lu ms) to kernel packet stream %i", s->len, pts, entry->duration, entry->kernel_idx); if (!kernel_add_stream_packet(entry->kernel_idx, s->s, s->len, entry->duration, pts, @@ -2168,7 +2169,7 @@ static void __media_player_cache_entry_free(struct media_player_cache_entry *e) } media_player_coder_shutdown(&e->coder); av_packet_free(&e->coder.pkt); - if (e->kernel_idx != -1) + if (e->kernel_idx != KERNEL_IDX_NONE) kernel_free_packet_stream(e->kernel_idx); g_free(e->index.index.file.s); payload_type_clear(&e->index.dst_pt);