Commit ed9ebbec authored by ihf@chromium.org's avatar ihf@chromium.org

FFmpeg: Add gsm_ms and pcm big endian codecs.

Also update corresponding tests.

BUG=chromium-os:31955
TEST=Played on linux CrOS build.

Review URL: https://chromiumcodereview.appspot.com/10452004

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@150154 0039d316-1c4b-4281-b951-d872f2087c98
parent 48428b84
......@@ -91,18 +91,22 @@ IN_PROC_BROWSER_TEST_F(MediaTest, VideoBear3gpAmrnbMpeg4) {
PlayVideo("bear_mpeg4_amrnb.3gp");
}
// TODO(ihf): Enable these audio codecs for CrOS.
// IN_PROC_BROWSER_TEST_F(MediaTest, VideoBearWavAlaw) {
// PlayVideo("bear_alaw.wav");
// }
// IN_PROC_BROWSER_TEST_F(MediaTest, VideoBearWavGsmms) {
// PlayVideo("bear_gsmms.wav");
// }
IN_PROC_BROWSER_TEST_F(MediaTest, VideoBearWavGsmms) {
PlayAudio("bear_gsm_ms.wav");
}
IN_PROC_BROWSER_TEST_F(MediaTest, VideoBearWavMulaw) {
PlayAudio("bear_mulaw.wav");
}
IN_PROC_BROWSER_TEST_F(MediaTest, VideoBearMovPcmS16be) {
PlayVideo("bear_pcm_s16be.mov");
}
IN_PROC_BROWSER_TEST_F(MediaTest, VideoBearMovPcmS24be) {
PlayVideo("bear_pcm_s24be.mov");
}
IN_PROC_BROWSER_TEST_F(MediaTest, VideoBearFlac) {
PlayAudio("bear.flac");
}
......
......@@ -27,12 +27,15 @@ enum AudioCodec {
kCodecAMR_NB,
kCodecAMR_WB,
kCodecPCM_MULAW,
kCodecGSM_MS,
kCodecPCM_S16BE,
kCodecPCM_S24BE,
// DO NOT ADD RANDOM AUDIO CODECS!
//
// The only acceptable time to add a new codec is if there is production code
// that uses said codec in the same CL.
kAudioCodecMax = kCodecPCM_MULAW // Must equal the last "real" codec above.
kAudioCodecMax = kCodecPCM_S24BE // Must equal the last "real" codec above.
};
// TODO(dalecurtis): FFmpeg API uses |bytes_per_channel| instead of
......
......@@ -34,12 +34,18 @@ AudioCodec CodecIDToAudioCodec(CodecID codec_id) {
case CODEC_ID_PCM_S16LE:
case CODEC_ID_PCM_S24LE:
return kCodecPCM;
case CODEC_ID_PCM_S16BE:
return kCodecPCM_S16BE;
case CODEC_ID_PCM_S24BE:
return kCodecPCM_S24BE;
case CODEC_ID_FLAC:
return kCodecFLAC;
case CODEC_ID_AMR_NB:
return kCodecAMR_NB;
case CODEC_ID_AMR_WB:
return kCodecAMR_WB;
case CODEC_ID_GSM_MS:
return kCodecGSM_MS;
case CODEC_ID_PCM_MULAW:
return kCodecPCM_MULAW;
default:
......@@ -67,6 +73,10 @@ static CodecID AudioCodecToCodecID(AudioCodec audio_codec,
DVLOG(1) << "Unsupported bits per channel: " << bits_per_channel;
}
break;
case kCodecPCM_S16BE:
return CODEC_ID_PCM_S16BE;
case kCodecPCM_S24BE:
return CODEC_ID_PCM_S24BE;
case kCodecVorbis:
return CODEC_ID_VORBIS;
case kCodecFLAC:
......@@ -75,6 +85,8 @@ static CodecID AudioCodecToCodecID(AudioCodec audio_codec,
return CODEC_ID_AMR_NB;
case kCodecAMR_WB:
return CODEC_ID_AMR_WB;
case kCodecGSM_MS:
return CODEC_ID_GSM_MS;
case kCodecPCM_MULAW:
return CODEC_ID_PCM_MULAW;
default:
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment