[FFmpeg-cvslog] lavc/pthread_frame: set worker thread names

Anton Khirnov git at videolan.org
Mon Oct 24 03:15:22 EEST 2022


ffmpeg | branch: master | Anton Khirnov <anton at khirnov.net> | Tue Oct 18 18:31:10 2022 +0200| [5f82447dfc4df8540ab52534dafb5fbd5aa99497] | committer: Anton Khirnov

lavc/pthread_frame: set worker thread names

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=5f82447dfc4df8540ab52534dafb5fbd5aa99497
---

 libavcodec/pthread_frame.c | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/libavcodec/pthread_frame.c b/libavcodec/pthread_frame.c
index f8fddc5e4d..df82a4125f 100644
--- a/libavcodec/pthread_frame.c
+++ b/libavcodec/pthread_frame.c
@@ -179,6 +179,17 @@ static void async_unlock(FrameThreadContext *fctx)
     pthread_mutex_unlock(&fctx->async_mutex);
 }
 
+static void thread_set_name(PerThreadContext *p)
+{
+    AVCodecContext *avctx = p->avctx;
+    int idx = p - p->parent->threads;
+    char name[16];
+
+    snprintf(name, sizeof(name), "av:%.7s:df%d", avctx->codec->name, idx);
+
+    ff_thread_setname(name);
+}
+
 /**
  * Codec worker thread.
  *
@@ -192,6 +203,8 @@ static attribute_align_arg void *frame_worker_thread(void *arg)
     AVCodecContext *avctx = p->avctx;
     const FFCodec *codec = ffcodec(avctx->codec);
 
+    thread_set_name(p);
+
     pthread_mutex_lock(&p->mutex);
     while (1) {
         while (atomic_load(&p->state) == STATE_INPUT_READY && !p->die)



More information about the ffmpeg-cvslog mailing list