Provide decoder_init()

Expose an initializer so that the caller does not have to guess what
fields must be initialized.
This commit is contained in:
Romain Vimont 2018-02-09 13:29:48 +01:00
parent 4662198261
commit 523097eadf
3 changed files with 7 additions and 2 deletions

View file

@ -140,6 +140,11 @@ run_finally_free_codec_ctx:
return ret; return ret;
} }
void decoder_init(struct decoder *decoder, struct frames *frames, TCPsocket video_socket) {
decoder->frames = frames;
decoder->video_socket = video_socket;
}
SDL_bool decoder_start(struct decoder *decoder) { SDL_bool decoder_start(struct decoder *decoder) {
SDL_LogDebug(SDL_LOG_CATEGORY_APPLICATION, "Starting decoder thread"); SDL_LogDebug(SDL_LOG_CATEGORY_APPLICATION, "Starting decoder thread");

View file

@ -13,6 +13,7 @@ struct decoder {
SDL_mutex *mutex; SDL_mutex *mutex;
}; };
void decoder_init(struct decoder *decoder, struct frames *frames, TCPsocket video_socket);
SDL_bool decoder_start(struct decoder *decoder); SDL_bool decoder_start(struct decoder *decoder);
void decoder_stop(struct decoder *decoder); void decoder_stop(struct decoder *decoder);
void decoder_join(struct decoder *decoder); void decoder_join(struct decoder *decoder);

View file

@ -129,8 +129,7 @@ SDL_bool scrcpy(const char *serial, Uint16 local_port, Uint16 max_size, Uint32 b
goto finally_destroy_server; goto finally_destroy_server;
} }
decoder.frames = &frames; decoder_init(&decoder, &frames, device_socket);
decoder.video_socket = device_socket;
// now we consumed the header values, the socket receives the video stream // now we consumed the header values, the socket receives the video stream
// start the decoder // start the decoder