Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(82)

Side by Side Diff: talk/app/webrtc/java/jni/androidmediaencoder_jni.cc

Issue 1406903002: Expose codec implementation names in stats. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: report what we fell back from Created 5 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * libjingle 2 * libjingle
3 * Copyright 2015 Google Inc. 3 * Copyright 2015 Google Inc.
4 * 4 *
5 * Redistribution and use in source and binary forms, with or without 5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are met: 6 * modification, are permitted provided that the following conditions are met:
7 * 7 *
8 * 1. Redistributions of source code must retain the above copyright notice, 8 * 1. Redistributions of source code must retain the above copyright notice,
9 * this list of conditions and the following disclaimer. 9 * this list of conditions and the following disclaimer.
10 * 2. Redistributions in binary form must reproduce the above copyright notice, 10 * 2. Redistributions in binary form must reproduce the above copyright notice,
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after
96 int64_t /* rtt */) override; 96 int64_t /* rtt */) override;
97 int32_t SetRates(uint32_t new_bit_rate, uint32_t frame_rate) override; 97 int32_t SetRates(uint32_t new_bit_rate, uint32_t frame_rate) override;
98 98
99 // rtc::MessageHandler implementation. 99 // rtc::MessageHandler implementation.
100 void OnMessage(rtc::Message* msg) override; 100 void OnMessage(rtc::Message* msg) override;
101 101
102 void OnDroppedFrame() override; 102 void OnDroppedFrame() override;
103 103
104 int GetTargetFramerate() override; 104 int GetTargetFramerate() override;
105 105
106 const char* ImplementationName() const override;
107
106 private: 108 private:
107 // CHECK-fail if not running on |codec_thread_|. 109 // CHECK-fail if not running on |codec_thread_|.
108 void CheckOnCodecThread(); 110 void CheckOnCodecThread();
109 111
110 // Release() and InitEncode() in an attempt to restore the codec to an 112 // Release() and InitEncode() in an attempt to restore the codec to an
111 // operable state. Necessary after all manner of OMX-layer errors. 113 // operable state. Necessary after all manner of OMX-layer errors.
112 void ResetCodec(); 114 void ResetCodec();
113 115
114 // Implementation of webrtc::VideoEncoder methods above, all running on the 116 // Implementation of webrtc::VideoEncoder methods above, all running on the
115 // codec thread exclusively. 117 // codec thread exclusively.
(...skipping 781 matching lines...) Expand 10 before | Expand all | Expand 10 after
897 899
898 void MediaCodecVideoEncoder::OnDroppedFrame() { 900 void MediaCodecVideoEncoder::OnDroppedFrame() {
899 if (scale_) 901 if (scale_)
900 quality_scaler_.ReportDroppedFrame(); 902 quality_scaler_.ReportDroppedFrame();
901 } 903 }
902 904
903 int MediaCodecVideoEncoder::GetTargetFramerate() { 905 int MediaCodecVideoEncoder::GetTargetFramerate() {
904 return scale_ ? quality_scaler_.GetTargetFramerate() : -1; 906 return scale_ ? quality_scaler_.GetTargetFramerate() : -1;
905 } 907 }
906 908
909 const char* MediaCodecVideoEncoder::ImplementationName() const {
910 return "MediaCodec";
911 }
912
907 MediaCodecVideoEncoderFactory::MediaCodecVideoEncoderFactory() { 913 MediaCodecVideoEncoderFactory::MediaCodecVideoEncoderFactory() {
908 JNIEnv* jni = AttachCurrentThreadIfNeeded(); 914 JNIEnv* jni = AttachCurrentThreadIfNeeded();
909 ScopedLocalRefFrame local_ref_frame(jni); 915 ScopedLocalRefFrame local_ref_frame(jni);
910 jclass j_encoder_class = FindClass(jni, "org/webrtc/MediaCodecVideoEncoder"); 916 jclass j_encoder_class = FindClass(jni, "org/webrtc/MediaCodecVideoEncoder");
911 supported_codecs_.clear(); 917 supported_codecs_.clear();
912 918
913 bool is_vp8_hw_supported = jni->CallStaticBooleanMethod( 919 bool is_vp8_hw_supported = jni->CallStaticBooleanMethod(
914 j_encoder_class, 920 j_encoder_class,
915 GetStaticMethodID(jni, j_encoder_class, "isVp8HwSupported", "()Z")); 921 GetStaticMethodID(jni, j_encoder_class, "isVp8HwSupported", "()Z"));
916 CHECK_EXCEPTION(jni); 922 CHECK_EXCEPTION(jni);
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
955 } 961 }
956 962
957 void MediaCodecVideoEncoderFactory::DestroyVideoEncoder( 963 void MediaCodecVideoEncoderFactory::DestroyVideoEncoder(
958 webrtc::VideoEncoder* encoder) { 964 webrtc::VideoEncoder* encoder) {
959 ALOGD << "Destroy video encoder."; 965 ALOGD << "Destroy video encoder.";
960 delete encoder; 966 delete encoder;
961 } 967 }
962 968
963 } // namespace webrtc_jni 969 } // namespace webrtc_jni
964 970
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698