win-dshow: Add reactivation callback

This commit is contained in:
jpark37 2022-02-27 16:24:59 -08:00 committed by Jim
parent 73f61922e6
commit 3eb85c548f

View File

@ -278,6 +278,7 @@ struct DShowInput {
void OnEncodedAudioData(enum AVCodecID id, unsigned char *data, void OnEncodedAudioData(enum AVCodecID id, unsigned char *data,
size_t size, long long ts); size_t size, long long ts);
void OnReactivate();
void OnVideoData(const VideoConfig &config, unsigned char *data, void OnVideoData(const VideoConfig &config, unsigned char *data,
size_t size, long long startTime, long long endTime, size_t size, long long startTime, long long endTime,
long rotation); long rotation);
@ -522,6 +523,11 @@ void DShowInput::OnEncodedVideoData(enum AVCodecID id, unsigned char *data,
} }
} }
void DShowInput::OnReactivate()
{
SetActive(true);
}
void DShowInput::OnVideoData(const VideoConfig &config, unsigned char *data, void DShowInput::OnVideoData(const VideoConfig &config, unsigned char *data,
size_t size, long long startTime, size_t size, long long startTime,
long long endTime, long rotation) long long endTime, long rotation)
@ -958,6 +964,8 @@ bool DShowInput::UpdateVideoConfig(obs_data_t *settings)
placeholders::_1, placeholders::_2, placeholders::_1, placeholders::_2,
placeholders::_3, placeholders::_4, placeholders::_3, placeholders::_4,
placeholders::_5, placeholders::_6); placeholders::_5, placeholders::_6);
videoConfig.reactivateCallback =
std::bind(&DShowInput::OnReactivate, this);
videoConfig.format = videoConfig.internalFormat; videoConfig.format = videoConfig.internalFormat;