Commit 414a49d6 authored by James Almer's avatar James Almer

ffmpeg: use thread wrappers for the thread message functionality

Reviewed-by: 's avatarMichael Niedermayer <michael@niedermayer.cc>
Signed-off-by: 's avatarJames Almer <jamrial@gmail.com>
parent b4eeffff
...@@ -61,6 +61,7 @@ ...@@ -61,6 +61,7 @@
#include "libavutil/timestamp.h" #include "libavutil/timestamp.h"
#include "libavutil/bprint.h" #include "libavutil/bprint.h"
#include "libavutil/time.h" #include "libavutil/time.h"
#include "libavutil/thread.h"
#include "libavutil/threadmessage.h" #include "libavutil/threadmessage.h"
#include "libavcodec/mathops.h" #include "libavcodec/mathops.h"
#include "libavformat/os_support.h" #include "libavformat/os_support.h"
...@@ -98,10 +99,6 @@ ...@@ -98,10 +99,6 @@
#include <conio.h> #include <conio.h>
#endif #endif
#if HAVE_PTHREADS
#include <pthread.h>
#endif
#include <time.h> #include <time.h>
#include "ffmpeg.h" #include "ffmpeg.h"
...@@ -161,7 +158,7 @@ static struct termios oldtty; ...@@ -161,7 +158,7 @@ static struct termios oldtty;
static int restore_tty; static int restore_tty;
#endif #endif
#if HAVE_PTHREADS #if HAVE_THREADS
static void free_input_threads(void); static void free_input_threads(void);
#endif #endif
...@@ -578,7 +575,7 @@ static void ffmpeg_cleanup(int ret) ...@@ -578,7 +575,7 @@ static void ffmpeg_cleanup(int ret)
av_freep(&output_streams[i]); av_freep(&output_streams[i]);
} }
#if HAVE_PTHREADS #if HAVE_THREADS
free_input_threads(); free_input_threads();
#endif #endif
for (i = 0; i < nb_input_files; i++) { for (i = 0; i < nb_input_files; i++) {
...@@ -3996,7 +3993,7 @@ static int check_keyboard_interaction(int64_t cur_time) ...@@ -3996,7 +3993,7 @@ static int check_keyboard_interaction(int64_t cur_time)
return 0; return 0;
} }
#if HAVE_PTHREADS #if HAVE_THREADS
static void *input_thread(void *arg) static void *input_thread(void *arg)
{ {
InputFile *f = arg; InputFile *f = arg;
...@@ -4106,7 +4103,7 @@ static int get_input_packet(InputFile *f, AVPacket *pkt) ...@@ -4106,7 +4103,7 @@ static int get_input_packet(InputFile *f, AVPacket *pkt)
} }
} }
#if HAVE_PTHREADS #if HAVE_THREADS
if (nb_input_files > 1) if (nb_input_files > 1)
return get_input_packet_mt(f, pkt); return get_input_packet_mt(f, pkt);
#endif #endif
...@@ -4615,7 +4612,7 @@ static int transcode(void) ...@@ -4615,7 +4612,7 @@ static int transcode(void)
timer_start = av_gettime_relative(); timer_start = av_gettime_relative();
#if HAVE_PTHREADS #if HAVE_THREADS
if ((ret = init_input_threads()) < 0) if ((ret = init_input_threads()) < 0)
goto fail; goto fail;
#endif #endif
...@@ -4646,7 +4643,7 @@ static int transcode(void) ...@@ -4646,7 +4643,7 @@ static int transcode(void)
/* dump report by using the output first video and audio streams */ /* dump report by using the output first video and audio streams */
print_report(0, timer_start, cur_time); print_report(0, timer_start, cur_time);
} }
#if HAVE_PTHREADS #if HAVE_THREADS
free_input_threads(); free_input_threads();
#endif #endif
...@@ -4712,7 +4709,7 @@ static int transcode(void) ...@@ -4712,7 +4709,7 @@ static int transcode(void)
ret = 0; ret = 0;
fail: fail:
#if HAVE_PTHREADS #if HAVE_THREADS
free_input_threads(); free_input_threads();
#endif #endif
......
...@@ -25,10 +25,6 @@ ...@@ -25,10 +25,6 @@
#include <stdio.h> #include <stdio.h>
#include <signal.h> #include <signal.h>
#if HAVE_PTHREADS
#include <pthread.h>
#endif
#include "cmdutils.h" #include "cmdutils.h"
#include "libavformat/avformat.h" #include "libavformat/avformat.h"
...@@ -45,6 +41,7 @@ ...@@ -45,6 +41,7 @@
#include "libavutil/hwcontext.h" #include "libavutil/hwcontext.h"
#include "libavutil/pixfmt.h" #include "libavutil/pixfmt.h"
#include "libavutil/rational.h" #include "libavutil/rational.h"
#include "libavutil/thread.h"
#include "libavutil/threadmessage.h" #include "libavutil/threadmessage.h"
#include "libswresample/swresample.h" #include "libswresample/swresample.h"
...@@ -415,7 +412,7 @@ typedef struct InputFile { ...@@ -415,7 +412,7 @@ typedef struct InputFile {
int rate_emu; int rate_emu;
int accurate_seek; int accurate_seek;
#if HAVE_PTHREADS #if HAVE_THREADS
AVThreadMessageQueue *in_thread_queue; AVThreadMessageQueue *in_thread_queue;
pthread_t thread; /* thread reading from this file */ pthread_t thread; /* thread reading from this file */
int non_blocking; /* reading packets from the thread should not block */ int non_blocking; /* reading packets from the thread should not block */
......
...@@ -1161,7 +1161,7 @@ static int open_input_file(OptionsContext *o, const char *filename) ...@@ -1161,7 +1161,7 @@ static int open_input_file(OptionsContext *o, const char *filename)
f->loop = o->loop; f->loop = o->loop;
f->duration = 0; f->duration = 0;
f->time_base = (AVRational){ 1, 1 }; f->time_base = (AVRational){ 1, 1 };
#if HAVE_PTHREADS #if HAVE_THREADS
f->thread_queue_size = o->thread_queue_size > 0 ? o->thread_queue_size : 8; f->thread_queue_size = o->thread_queue_size > 0 ? o->thread_queue_size : 8;
#endif #endif
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment