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

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: feedback Created 5 years, 1 month 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 782 matching lines...) Expand 10 before | Expand all | Expand 10 after
898 900
899 void MediaCodecVideoEncoder::OnDroppedFrame() { 901 void MediaCodecVideoEncoder::OnDroppedFrame() {
900 if (scale_) 902 if (scale_)
901 quality_scaler_.ReportDroppedFrame(); 903 quality_scaler_.ReportDroppedFrame();
902 } 904 }
903 905
904 int MediaCodecVideoEncoder::GetTargetFramerate() { 906 int MediaCodecVideoEncoder::GetTargetFramerate() {
905 return scale_ ? quality_scaler_.GetTargetFramerate() : -1; 907 return scale_ ? quality_scaler_.GetTargetFramerate() : -1;
906 } 908 }
907 909
910 const char* MediaCodecVideoEncoder::ImplementationName() const {
911 return "MediaCodec";
912 }
913
908 MediaCodecVideoEncoderFactory::MediaCodecVideoEncoderFactory() { 914 MediaCodecVideoEncoderFactory::MediaCodecVideoEncoderFactory() {
909 JNIEnv* jni = AttachCurrentThreadIfNeeded(); 915 JNIEnv* jni = AttachCurrentThreadIfNeeded();
910 ScopedLocalRefFrame local_ref_frame(jni); 916 ScopedLocalRefFrame local_ref_frame(jni);
911 jclass j_encoder_class = FindClass(jni, "org/webrtc/MediaCodecVideoEncoder"); 917 jclass j_encoder_class = FindClass(jni, "org/webrtc/MediaCodecVideoEncoder");
912 supported_codecs_.clear(); 918 supported_codecs_.clear();
913 919
914 bool is_vp8_hw_supported = jni->CallStaticBooleanMethod( 920 bool is_vp8_hw_supported = jni->CallStaticBooleanMethod(
915 j_encoder_class, 921 j_encoder_class,
916 GetStaticMethodID(jni, j_encoder_class, "isVp8HwSupported", "()Z")); 922 GetStaticMethodID(jni, j_encoder_class, "isVp8HwSupported", "()Z"));
917 CHECK_EXCEPTION(jni); 923 CHECK_EXCEPTION(jni);
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
956 } 962 }
957 963
958 void MediaCodecVideoEncoderFactory::DestroyVideoEncoder( 964 void MediaCodecVideoEncoderFactory::DestroyVideoEncoder(
959 webrtc::VideoEncoder* encoder) { 965 webrtc::VideoEncoder* encoder) {
960 ALOGD << "Destroy video encoder."; 966 ALOGD << "Destroy video encoder.";
961 delete encoder; 967 delete encoder;
962 } 968 }
963 969
964 } // namespace webrtc_jni 970 } // namespace webrtc_jni
965 971
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698