Skip to content

Fix memory management for OpenVINO init#397

Merged
sandrohanea merged 1 commit into
mainfrom
codex/check-native-bindings-for-whisper.cpp
Jun 13, 2025
Merged

Fix memory management for OpenVINO init#397
sandrohanea merged 1 commit into
mainfrom
codex/check-native-bindings-for-whisper.cpp

Free OpenVINO path strings

5fe7d6f
Select commit
Loading
Failed to load commit list.
Sign in for the full log view
GitHub Actions / Whisper.net Windows Test Results succeeded Jun 4, 2025 in 0s

237 passed, 0 failed and 3 skipped

Tests passed successfully

Report Passed Failed Skipped Time
tests/Whisper.net.Tests/TestResults/runneradmin_fv-az1105-894_2025-06-04_21_16_59.trx 79✅ 1⚪ 1264s
tests/Whisper.net.Tests/TestResults/runneradmin_fv-az1105-894_2025-06-04_21_18_22.trx 79✅ 1⚪ 1264s
tests/Whisper.net.Tests/TestResults/runneradmin_fv-az1105-894_2025-06-04_21_20_46.trx 79✅ 1⚪ 1275s

✅ tests/Whisper.net.Tests/TestResults/runneradmin_fv-az1105-894_2025-06-04_21_16_59.trx

80 tests were completed in 1264s with 79 passed, 0 failed and 1 skipped.

Test suite Passed Failed Skipped Time
Whisper.net.Tests.FactoryTests 6✅ 1s
Whisper.net.Tests.ProcessAsyncFunctionalTests 6✅ 1078s
Whisper.net.Tests.ProcessFunctionalTests 6✅ 1⚪ 1059s
Whisper.net.Tests.ProcessQuantizedTests 1✅ 180s
Whisper.net.Tests.SpeechToText.SpeechToTextOptionsExtensionsTests 44✅ 32ms
Whisper.net.Tests.SpeechToText.WhisperSpeechToTextClientConstructorTests 10✅ 1101s
Whisper.net.Tests.SpeechToText.WhisperSpeechToTextClientTest 6✅ 1190s

✅ Whisper.net.Tests.FactoryTests

✅ CreateBuilder_WithCorruptedModel_ShouldThrow
✅ CreateBuilder_WithDisposedFactory_ShouldThrow
✅ CreateBuilder_WithFileModel_ShouldReturnBuilder
✅ CreateBuilder_WithMemoryModel_ShouldReturnBuilder
✅ CreateBuilder_WithNoModel_ShouldThrow
✅ GetSupportedLanguages_ShouldReturnAll

✅ Whisper.net.Tests.ProcessAsyncFunctionalTests

✅ ProcessAsync_CalledMultipleTimes_Serially_WillCompleteEverytime
✅ ProcessAsync_Cancelled_WillCancelTheProcessing_AndDispose_WillWaitUntilFullyFinished
✅ ProcessAsync_ParallelExecution_WillCompleteEverytime
✅ ProcessAsync_WhenJunkChunkExists_ProcessCorrectly
✅ ProcessAsync_WhenMultichannel_ProcessCorrectly
✅ TestHappyFlowAsync

✅ Whisper.net.Tests.ProcessFunctionalTests

✅ Process_CalledMultipleTimes_Serially_WillCompleteEverytime
✅ Process_WhenMultichannel_ProcessCorrectly
✅ Test_LibraryLoadError_ShouldFallbackToCPU(invalidLibrary: "cuda")
✅ Test_LibraryLoadError_ShouldFallbackToCPU(invalidLibrary: "openvino")
✅ TestAutoDetectLanguageWithRomanian
⚪ TestCancelEncoder
✅ TestHappyFlow

✅ Whisper.net.Tests.ProcessQuantizedTests

✅ TestHappyFlowQuantized

✅ Whisper.net.Tests.SpeechToText.SpeechToTextOptionsExtensionsTests

✅ WithAudioContextSize_SetsAdditionalProperty
✅ WithBeamSearchSamplingStrategy_SetsAdditionalProperty
✅ WithDuration_SetsAdditionalProperty
✅ WithEncoderBeginHandler_SetsAdditionalProperty
✅ WithEntropyThreshold_SetsAdditionalProperty
✅ WithGreedySamplingStrategy_SetsAdditionalProperty
✅ WithLanguage_SetsLanguageProperty
✅ WithLanguageDetection_SetsAdditionalProperty
✅ WithLanguageDetection_WithFalseParameter_SetsAdditionalPropertyToFalse
✅ WithLengthPenalty_SetsAdditionalProperty
✅ WithLogProbThreshold_SetsAdditionalProperty
✅ WithMaxInitialTs_SetsAdditionalProperty
✅ WithMaxLastTextTokens_SetsAdditionalProperty
✅ WithMaxSegmentLength_SetsAdditionalProperty
✅ WithMaxTokensPerSegment_SetsAdditionalProperty
✅ WithNoContext_SetsAdditionalProperty
✅ WithNoContext_WithFalseParameter_SetsAdditionalPropertyToFalse
✅ WithNoSpeechThreshold_SetsAdditionalProperty
✅ WithOffset_SetsAdditionalProperty
✅ WithOpenVinoEncoder_SetsAdditionalProperties
✅ WithOpenVinoEncoder_WithNullDeviceAndCache_SetsOnlyEncoderPath
✅ WithoutStringPool_SetsAdditionalProperty
✅ WithoutSuppressBlank_SetsAdditionalProperty
✅ WithPrintProgress_SetsAdditionalProperty
✅ WithPrintProgress_WithFalseParameter_SetsAdditionalPropertyToFalse
✅ WithPrintResults_SetsAdditionalProperty
✅ WithPrintResults_WithFalseParameter_SetsAdditionalPropertyToFalse
✅ WithPrintSpecialTokens_SetsAdditionalProperty
✅ WithPrintSpecialTokens_WithFalseParameter_SetsAdditionalPropertyToFalse
✅ WithPrintTimestamps_SetsAdditionalProperty
✅ WithPrintTimestamps_WithFalseParameter_SetsAdditionalPropertyToFalse
✅ WithProbabilities_SetsAdditionalProperty
✅ WithProbabilities_WithFalseParameter_SetsAdditionalPropertyToFalse
✅ WithProgressHandler_SetsAdditionalProperty
✅ WithSegmentEventHandler_SetsAdditionalProperty
✅ WithStringPool_SetsAdditionalProperty
✅ WithTemperature_SetsAdditionalProperty
✅ WithTemperatureInc_SetsAdditionalProperty
✅ WithThreads_SetsAdditionalProperty
✅ WithTokenTimestamps_SetsAdditionalProperty
✅ WithTokenTimestampsSumThreshold_SetsAdditionalProperty
✅ WithTokenTimestampsThreshold_SetsAdditionalProperty
✅ WithTranslate_SetsTextLanguageToEnglish
✅ WithWhisperLanguage_SetsAdditionalProperty

✅ Whisper.net.Tests.SpeechToText.WhisperSpeechToTextClientConstructorTests

✅ AfterDispose_GetStreamingTextAsync_ShouldThrowObjectDisposedException
✅ AfterDispose_GetTextAsync_ShouldThrowObjectDisposedException
✅ Constructor_WithFactoryBuilder_ShouldNotCreateFactoryImmediately
✅ Constructor_WithModelFileName_ShouldNotCreateFactoryImmediately
✅ Constructor_WithNullFactoryBuilder_ShouldThrowArgumentNullException
✅ Dispose_ShouldDisposeFactory
✅ FactoryBuilder_ReturningNull_ShouldThrowArgumentNullException
✅ GetStreamingTextAsync_ShouldCreateFactoryLazily
✅ GetTextAsync_ShouldCreateFactoryLazily
✅ MultipleRequests_ShouldReuseFactory

✅ Whisper.net.Tests.SpeechToText.WhisperSpeechToTextClientTest

✅ GetStreamingTextAsync_CalledMultipleTimes_Serially_WillCompleteEverytime
✅ GetTextAsync_CalledMultipleTimes_Serially_WillCompleteEverytime
✅ ProcessAsync_WhenJunkChunkExists_ProcessCorrectly
✅ ProcessAsync_WhenMultichannel_ProcessCorrectly
✅ TestHappyFlowAsync
✅ WithSegmentEventHandler_Cancelled_WillCancellTheProcessing_AndDispose

✅ tests/Whisper.net.Tests/TestResults/runneradmin_fv-az1105-894_2025-06-04_21_18_22.trx

80 tests were completed in 1264s with 79 passed, 0 failed and 1 skipped.

Test suite Passed Failed Skipped Time
Whisper.net.Tests.FactoryTests 6✅ 765ms
Whisper.net.Tests.ProcessAsyncFunctionalTests 6✅ 1103s
Whisper.net.Tests.ProcessFunctionalTests 6✅ 1⚪ 1231s
Whisper.net.Tests.ProcessQuantizedTests 1✅ 202s
Whisper.net.Tests.SpeechToText.SpeechToTextOptionsExtensionsTests 44✅ 11ms
Whisper.net.Tests.SpeechToText.WhisperSpeechToTextClientConstructorTests 10✅ 1124s
Whisper.net.Tests.SpeechToText.WhisperSpeechToTextClientTest 6✅ 1059s

✅ Whisper.net.Tests.FactoryTests

✅ CreateBuilder_WithCorruptedModel_ShouldThrow
✅ CreateBuilder_WithDisposedFactory_ShouldThrow
✅ CreateBuilder_WithFileModel_ShouldReturnBuilder
✅ CreateBuilder_WithMemoryModel_ShouldReturnBuilder
✅ CreateBuilder_WithNoModel_ShouldThrow
✅ GetSupportedLanguages_ShouldReturnAll

✅ Whisper.net.Tests.ProcessAsyncFunctionalTests

✅ ProcessAsync_CalledMultipleTimes_Serially_WillCompleteEverytime
✅ ProcessAsync_Cancelled_WillCancelTheProcessing_AndDispose_WillWaitUntilFullyFinished
✅ ProcessAsync_ParallelExecution_WillCompleteEverytime
✅ ProcessAsync_WhenJunkChunkExists_ProcessCorrectly
✅ ProcessAsync_WhenMultichannel_ProcessCorrectly
✅ TestHappyFlowAsync

✅ Whisper.net.Tests.ProcessFunctionalTests

✅ Process_CalledMultipleTimes_Serially_WillCompleteEverytime
✅ Process_WhenMultichannel_ProcessCorrectly
✅ Test_LibraryLoadError_ShouldFallbackToCPU(invalidLibrary: "cuda")
✅ Test_LibraryLoadError_ShouldFallbackToCPU(invalidLibrary: "openvino")
✅ TestAutoDetectLanguageWithRomanian
⚪ TestCancelEncoder
✅ TestHappyFlow

✅ Whisper.net.Tests.ProcessQuantizedTests

✅ TestHappyFlowQuantized

✅ Whisper.net.Tests.SpeechToText.SpeechToTextOptionsExtensionsTests

✅ WithAudioContextSize_SetsAdditionalProperty
✅ WithBeamSearchSamplingStrategy_SetsAdditionalProperty
✅ WithDuration_SetsAdditionalProperty
✅ WithEncoderBeginHandler_SetsAdditionalProperty
✅ WithEntropyThreshold_SetsAdditionalProperty
✅ WithGreedySamplingStrategy_SetsAdditionalProperty
✅ WithLanguage_SetsLanguageProperty
✅ WithLanguageDetection_SetsAdditionalProperty
✅ WithLanguageDetection_WithFalseParameter_SetsAdditionalPropertyToFalse
✅ WithLengthPenalty_SetsAdditionalProperty
✅ WithLogProbThreshold_SetsAdditionalProperty
✅ WithMaxInitialTs_SetsAdditionalProperty
✅ WithMaxLastTextTokens_SetsAdditionalProperty
✅ WithMaxSegmentLength_SetsAdditionalProperty
✅ WithMaxTokensPerSegment_SetsAdditionalProperty
✅ WithNoContext_SetsAdditionalProperty
✅ WithNoContext_WithFalseParameter_SetsAdditionalPropertyToFalse
✅ WithNoSpeechThreshold_SetsAdditionalProperty
✅ WithOffset_SetsAdditionalProperty
✅ WithOpenVinoEncoder_SetsAdditionalProperties
✅ WithOpenVinoEncoder_WithNullDeviceAndCache_SetsOnlyEncoderPath
✅ WithoutStringPool_SetsAdditionalProperty
✅ WithoutSuppressBlank_SetsAdditionalProperty
✅ WithPrintProgress_SetsAdditionalProperty
✅ WithPrintProgress_WithFalseParameter_SetsAdditionalPropertyToFalse
✅ WithPrintResults_SetsAdditionalProperty
✅ WithPrintResults_WithFalseParameter_SetsAdditionalPropertyToFalse
✅ WithPrintSpecialTokens_SetsAdditionalProperty
✅ WithPrintSpecialTokens_WithFalseParameter_SetsAdditionalPropertyToFalse
✅ WithPrintTimestamps_SetsAdditionalProperty
✅ WithPrintTimestamps_WithFalseParameter_SetsAdditionalPropertyToFalse
✅ WithProbabilities_SetsAdditionalProperty
✅ WithProbabilities_WithFalseParameter_SetsAdditionalPropertyToFalse
✅ WithProgressHandler_SetsAdditionalProperty
✅ WithSegmentEventHandler_SetsAdditionalProperty
✅ WithStringPool_SetsAdditionalProperty
✅ WithTemperature_SetsAdditionalProperty
✅ WithTemperatureInc_SetsAdditionalProperty
✅ WithThreads_SetsAdditionalProperty
✅ WithTokenTimestamps_SetsAdditionalProperty
✅ WithTokenTimestampsSumThreshold_SetsAdditionalProperty
✅ WithTokenTimestampsThreshold_SetsAdditionalProperty
✅ WithTranslate_SetsTextLanguageToEnglish
✅ WithWhisperLanguage_SetsAdditionalProperty

✅ Whisper.net.Tests.SpeechToText.WhisperSpeechToTextClientConstructorTests

✅ AfterDispose_GetStreamingTextAsync_ShouldThrowObjectDisposedException
✅ AfterDispose_GetTextAsync_ShouldThrowObjectDisposedException
✅ Constructor_WithFactoryBuilder_ShouldNotCreateFactoryImmediately
✅ Constructor_WithModelFileName_ShouldNotCreateFactoryImmediately
✅ Constructor_WithNullFactoryBuilder_ShouldThrowArgumentNullException
✅ Dispose_ShouldDisposeFactory
✅ FactoryBuilder_ReturningNull_ShouldThrowArgumentNullException
✅ GetStreamingTextAsync_ShouldCreateFactoryLazily
✅ GetTextAsync_ShouldCreateFactoryLazily
✅ MultipleRequests_ShouldReuseFactory

✅ Whisper.net.Tests.SpeechToText.WhisperSpeechToTextClientTest

✅ GetStreamingTextAsync_CalledMultipleTimes_Serially_WillCompleteEverytime
✅ GetTextAsync_CalledMultipleTimes_Serially_WillCompleteEverytime
✅ ProcessAsync_WhenJunkChunkExists_ProcessCorrectly
✅ ProcessAsync_WhenMultichannel_ProcessCorrectly
✅ TestHappyFlowAsync
✅ WithSegmentEventHandler_Cancelled_WillCancellTheProcessing_AndDispose

✅ tests/Whisper.net.Tests/TestResults/runneradmin_fv-az1105-894_2025-06-04_21_20_46.trx

80 tests were completed in 1275s with 79 passed, 0 failed and 1 skipped.

Test suite Passed Failed Skipped Time
Whisper.net.Tests.FactoryTests 6✅ 577ms
Whisper.net.Tests.ProcessAsyncFunctionalTests 6✅ 1038s
Whisper.net.Tests.ProcessFunctionalTests 6✅ 1⚪ 902s
Whisper.net.Tests.ProcessQuantizedTests 1✅ 168s
Whisper.net.Tests.SpeechToText.SpeechToTextOptionsExtensionsTests 44✅ 44ms
Whisper.net.Tests.SpeechToText.WhisperSpeechToTextClientConstructorTests 10✅ 1077s
Whisper.net.Tests.SpeechToText.WhisperSpeechToTextClientTest 6✅ 1151s

✅ Whisper.net.Tests.FactoryTests

✅ CreateBuilder_WithCorruptedModel_ShouldThrow
✅ CreateBuilder_WithDisposedFactory_ShouldThrow
✅ CreateBuilder_WithFileModel_ShouldReturnBuilder
✅ CreateBuilder_WithMemoryModel_ShouldReturnBuilder
✅ CreateBuilder_WithNoModel_ShouldThrow
✅ GetSupportedLanguages_ShouldReturnAll

✅ Whisper.net.Tests.ProcessAsyncFunctionalTests

✅ ProcessAsync_CalledMultipleTimes_Serially_WillCompleteEverytime
✅ ProcessAsync_Cancelled_WillCancelTheProcessing_AndDispose_WillWaitUntilFullyFinished
✅ ProcessAsync_ParallelExecution_WillCompleteEverytime
✅ ProcessAsync_WhenJunkChunkExists_ProcessCorrectly
✅ ProcessAsync_WhenMultichannel_ProcessCorrectly
✅ TestHappyFlowAsync

✅ Whisper.net.Tests.ProcessFunctionalTests

✅ Process_CalledMultipleTimes_Serially_WillCompleteEverytime
✅ Process_WhenMultichannel_ProcessCorrectly
✅ Test_LibraryLoadError_ShouldFallbackToCPU(invalidLibrary: "cuda")
✅ Test_LibraryLoadError_ShouldFallbackToCPU(invalidLibrary: "openvino")
✅ TestAutoDetectLanguageWithRomanian
⚪ TestCancelEncoder
✅ TestHappyFlow

✅ Whisper.net.Tests.ProcessQuantizedTests

✅ TestHappyFlowQuantized

✅ Whisper.net.Tests.SpeechToText.SpeechToTextOptionsExtensionsTests

✅ WithAudioContextSize_SetsAdditionalProperty
✅ WithBeamSearchSamplingStrategy_SetsAdditionalProperty
✅ WithDuration_SetsAdditionalProperty
✅ WithEncoderBeginHandler_SetsAdditionalProperty
✅ WithEntropyThreshold_SetsAdditionalProperty
✅ WithGreedySamplingStrategy_SetsAdditionalProperty
✅ WithLanguage_SetsLanguageProperty
✅ WithLanguageDetection_SetsAdditionalProperty
✅ WithLanguageDetection_WithFalseParameter_SetsAdditionalPropertyToFalse
✅ WithLengthPenalty_SetsAdditionalProperty
✅ WithLogProbThreshold_SetsAdditionalProperty
✅ WithMaxInitialTs_SetsAdditionalProperty
✅ WithMaxLastTextTokens_SetsAdditionalProperty
✅ WithMaxSegmentLength_SetsAdditionalProperty
✅ WithMaxTokensPerSegment_SetsAdditionalProperty
✅ WithNoContext_SetsAdditionalProperty
✅ WithNoContext_WithFalseParameter_SetsAdditionalPropertyToFalse
✅ WithNoSpeechThreshold_SetsAdditionalProperty
✅ WithOffset_SetsAdditionalProperty
✅ WithOpenVinoEncoder_SetsAdditionalProperties
✅ WithOpenVinoEncoder_WithNullDeviceAndCache_SetsOnlyEncoderPath
✅ WithoutStringPool_SetsAdditionalProperty
✅ WithoutSuppressBlank_SetsAdditionalProperty
✅ WithPrintProgress_SetsAdditionalProperty
✅ WithPrintProgress_WithFalseParameter_SetsAdditionalPropertyToFalse
✅ WithPrintResults_SetsAdditionalProperty
✅ WithPrintResults_WithFalseParameter_SetsAdditionalPropertyToFalse
✅ WithPrintSpecialTokens_SetsAdditionalProperty
✅ WithPrintSpecialTokens_WithFalseParameter_SetsAdditionalPropertyToFalse
✅ WithPrintTimestamps_SetsAdditionalProperty
✅ WithPrintTimestamps_WithFalseParameter_SetsAdditionalPropertyToFalse
✅ WithProbabilities_SetsAdditionalProperty
✅ WithProbabilities_WithFalseParameter_SetsAdditionalPropertyToFalse
✅ WithProgressHandler_SetsAdditionalProperty
✅ WithSegmentEventHandler_SetsAdditionalProperty
✅ WithStringPool_SetsAdditionalProperty
✅ WithTemperature_SetsAdditionalProperty
✅ WithTemperatureInc_SetsAdditionalProperty
✅ WithThreads_SetsAdditionalProperty
✅ WithTokenTimestamps_SetsAdditionalProperty
✅ WithTokenTimestampsSumThreshold_SetsAdditionalProperty
✅ WithTokenTimestampsThreshold_SetsAdditionalProperty
✅ WithTranslate_SetsTextLanguageToEnglish
✅ WithWhisperLanguage_SetsAdditionalProperty

✅ Whisper.net.Tests.SpeechToText.WhisperSpeechToTextClientConstructorTests

✅ AfterDispose_GetStreamingTextAsync_ShouldThrowObjectDisposedException
✅ AfterDispose_GetTextAsync_ShouldThrowObjectDisposedException
✅ Constructor_WithFactoryBuilder_ShouldNotCreateFactoryImmediately
✅ Constructor_WithModelFileName_ShouldNotCreateFactoryImmediately
✅ Constructor_WithNullFactoryBuilder_ShouldThrowArgumentNullException
✅ Dispose_ShouldDisposeFactory
✅ FactoryBuilder_ReturningNull_ShouldThrowArgumentNullException
✅ GetStreamingTextAsync_ShouldCreateFactoryLazily
✅ GetTextAsync_ShouldCreateFactoryLazily
✅ MultipleRequests_ShouldReuseFactory

✅ Whisper.net.Tests.SpeechToText.WhisperSpeechToTextClientTest

✅ GetStreamingTextAsync_CalledMultipleTimes_Serially_WillCompleteEverytime
✅ GetTextAsync_CalledMultipleTimes_Serially_WillCompleteEverytime
✅ ProcessAsync_WhenJunkChunkExists_ProcessCorrectly
✅ ProcessAsync_WhenMultichannel_ProcessCorrectly
✅ TestHappyFlowAsync
✅ WithSegmentEventHandler_Cancelled_WillCancellTheProcessing_AndDispose