Relax threading requirements in VideoEncoder.
Previous strict threading requirements we not always followed and this causes crashes in some scenarios. Bug: webrtc:7760 Change-Id: I4808edfff19c63a9c4a9585834d46f9c73bb1c4b Reviewed-on: https://webrtc-review.googlesource.com/13660 Reviewed-by: Oleh Prypin <oprypin@webrtc.org> Commit-Queue: Oleh Prypin <oprypin@webrtc.org> Commit-Queue: Sami Kalliomäki <sakal@webrtc.org> Cr-Commit-Position: refs/heads/master@{#20353}
This commit is contained in:

committed by
Commit Bot

parent
15c9cf732b
commit
5f5fc6845a
@ -141,6 +141,9 @@ class HardwareVideoEncoder implements VideoEncoder {
|
||||
this.forcedKeyFrameNs = TimeUnit.MILLISECONDS.toNanos(forceKeyFrameIntervalMs);
|
||||
this.bitrateAdjuster = bitrateAdjuster;
|
||||
this.sharedContext = sharedContext;
|
||||
|
||||
// Allow construction on a different thread.
|
||||
encodeThreadChecker.detachThread();
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -263,6 +266,9 @@ class HardwareVideoEncoder implements VideoEncoder {
|
||||
codec = null;
|
||||
outputThread = null;
|
||||
|
||||
// Allow changing thread after release.
|
||||
encodeThreadChecker.detachThread();
|
||||
|
||||
return returnValue;
|
||||
}
|
||||
|
||||
@ -414,7 +420,6 @@ class HardwareVideoEncoder implements VideoEncoder {
|
||||
|
||||
@Override
|
||||
public String getImplementationName() {
|
||||
encodeThreadChecker.checkIsOnValidThread();
|
||||
return "HardwareVideoEncoder: " + codecName;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user