From 5e398a9fdc9461b34f0ea1aa0ffcd88f0eb78bb1 Mon Sep 17 00:00:00 2001 From: Haesu Gwon Date: Wed, 4 Apr 2018 12:30:01 +0900 Subject: [PATCH] [MediaCodec][Non-ACR] Fix AAC bit rate Change-Id: I19ae596e3729d37e0304bbef4dae077c9cfc563f --- .../TSBufferStatusChangedEventArgs.cs | 0 .../testcase/TSInputProcessedEventArgs.cs | 0 .../testcase/TSMediaCodec.cs | 25 +++++++++++++++---- .../TSMediaCodecErrorOccurredEventArgs.cs | 0 .../testcase/TSOutputAvailableEventArgs.cs | 0 .../testcase/support/AudioEncoderFeeder.cs | 8 +++--- 6 files changed, 25 insertions(+), 8 deletions(-) mode change 100644 => 100755 tct-suite-vs/Tizen.MediaCodec.Tests/testcase/TSBufferStatusChangedEventArgs.cs mode change 100644 => 100755 tct-suite-vs/Tizen.MediaCodec.Tests/testcase/TSInputProcessedEventArgs.cs mode change 100644 => 100755 tct-suite-vs/Tizen.MediaCodec.Tests/testcase/TSMediaCodecErrorOccurredEventArgs.cs mode change 100644 => 100755 tct-suite-vs/Tizen.MediaCodec.Tests/testcase/TSOutputAvailableEventArgs.cs mode change 100755 => 100644 tct-suite-vs/Tizen.MediaCodec.Tests/testcase/support/AudioEncoderFeeder.cs diff --git a/tct-suite-vs/Tizen.MediaCodec.Tests/testcase/TSBufferStatusChangedEventArgs.cs b/tct-suite-vs/Tizen.MediaCodec.Tests/testcase/TSBufferStatusChangedEventArgs.cs old mode 100644 new mode 100755 diff --git a/tct-suite-vs/Tizen.MediaCodec.Tests/testcase/TSInputProcessedEventArgs.cs b/tct-suite-vs/Tizen.MediaCodec.Tests/testcase/TSInputProcessedEventArgs.cs old mode 100644 new mode 100755 diff --git a/tct-suite-vs/Tizen.MediaCodec.Tests/testcase/TSMediaCodec.cs b/tct-suite-vs/Tizen.MediaCodec.Tests/testcase/TSMediaCodec.cs index 1da4d2c9f..95ca48ea7 100755 --- a/tct-suite-vs/Tizen.MediaCodec.Tests/testcase/TSMediaCodec.cs +++ b/tct-suite-vs/Tizen.MediaCodec.Tests/testcase/TSMediaCodec.cs @@ -308,8 +308,25 @@ namespace Tizen.Multimedia.MediaCodec.Tests { CountdownEvent countdownEvent = new CountdownEvent(5); - _codec.Configure(new AudioMediaFormat(MediaFormatAudioMimeType.Aac, 2, 48000, 16, 128), - true, MediaCodecTypes.Software); + int[] aacSupportedBit = { 16, 32 }; + + for (int i = 0; i < aacSupportedBit.Length; i++) + { + try + { + _codec.Configure(new AudioMediaFormat(MediaFormatAudioMimeType.Aac, 2, 48000, aacSupportedBit[i], 128), + true, MediaCodecTypes.Software); + + // If Configuration is set successfully, we should not configure it again. + break; + } + catch + { + Log.Info("Tizen.Multimedia.MediaCodec", + $"{aacSupportedBit[i]} bit for aac is not supported in this target. " + + $"try again with {aacSupportedBit[i + 1]} bit."); + } + } _codec.OutputAvailable += (object sender, OutputAvailableEventArgs e) => { @@ -319,17 +336,15 @@ namespace Tizen.Multimedia.MediaCodec.Tests countdownEvent.Signal(); } }; - _codec.Prepare(); - new AudioEncoderFeeder().Feed(packet => _codec.ProcessInput(packet)); ; + new AudioEncoderFeeder().Feed(packet => _codec.ProcessInput(packet)); Assert.True(countdownEvent.Wait(4000)); _codec.Unprepare(); } - [Test] [Category("P1")] [Description("Check if the FlushBuffers can be invoked without any exception")] diff --git a/tct-suite-vs/Tizen.MediaCodec.Tests/testcase/TSMediaCodecErrorOccurredEventArgs.cs b/tct-suite-vs/Tizen.MediaCodec.Tests/testcase/TSMediaCodecErrorOccurredEventArgs.cs old mode 100644 new mode 100755 diff --git a/tct-suite-vs/Tizen.MediaCodec.Tests/testcase/TSOutputAvailableEventArgs.cs b/tct-suite-vs/Tizen.MediaCodec.Tests/testcase/TSOutputAvailableEventArgs.cs old mode 100644 new mode 100755 diff --git a/tct-suite-vs/Tizen.MediaCodec.Tests/testcase/support/AudioEncoderFeeder.cs b/tct-suite-vs/Tizen.MediaCodec.Tests/testcase/support/AudioEncoderFeeder.cs old mode 100755 new mode 100644 index 191b5c118..ae62806d3 --- a/tct-suite-vs/Tizen.MediaCodec.Tests/testcase/support/AudioEncoderFeeder.cs +++ b/tct-suite-vs/Tizen.MediaCodec.Tests/testcase/support/AudioEncoderFeeder.cs @@ -1,4 +1,4 @@ -using System.IO; +using System.IO; namespace Tizen.Multimedia.MediaCodec.Tests { @@ -6,8 +6,10 @@ namespace Tizen.Multimedia.MediaCodec.Tests { public const string PcmFile = "/opt/usr/home/owner/share/res/test.pcm"; + private const int testPcmBit = 32; + public static readonly MediaFormat Format = - new AudioMediaFormat(MediaFormatAudioMimeType.Pcm, 2, 48000, 16, 128000); + new AudioMediaFormat(MediaFormatAudioMimeType.Pcm, 2, 44100, testPcmBit, 128000); public AudioEncoderFeeder() : base(PcmFile) { @@ -17,7 +19,7 @@ namespace Tizen.Multimedia.MediaCodec.Tests { MediaPacket packet = MediaPacket.Create(Format); - const int readSize = 1024 * 2 * 2 * 2; + const int readSize = 1024 * 2 * (testPcmBit / 8) * 2; byte[] arr = new byte[readSize]; file.Read(arr, 0, readSize); -- 2.34.1