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

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

Issue 1553033002: Roll chromium_revision d66326c..4df108a (367167:367307) (Closed) Base URL: https://chromium.googlesource.com/external/webrtc@master
Patch Set: Added references to bugs. Created 4 years, 11 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
« no previous file with comments | « DEPS ('k') | talk/app/webrtc/java/jni/androidmediaencoder_jni.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 94 matching lines...) Expand 10 before | Expand all | Expand 10 after
105 int32_t ReleaseOnCodecThread(); 105 int32_t ReleaseOnCodecThread();
106 int32_t DecodeOnCodecThread(const EncodedImage& inputImage); 106 int32_t DecodeOnCodecThread(const EncodedImage& inputImage);
107 // Deliver any outputs pending in the MediaCodec to our |callback_| and return 107 // Deliver any outputs pending in the MediaCodec to our |callback_| and return
108 // true on success. 108 // true on success.
109 bool DeliverPendingOutputs(JNIEnv* jni, int dequeue_timeout_us); 109 bool DeliverPendingOutputs(JNIEnv* jni, int dequeue_timeout_us);
110 int32_t ProcessHWErrorOnCodecThread(); 110 int32_t ProcessHWErrorOnCodecThread();
111 111
112 // Type of video codec. 112 // Type of video codec.
113 VideoCodecType codecType_; 113 VideoCodecType codecType_;
114 114
115 // Render EGL context - owned by factory, should not be allocated/destroyed
116 // by VideoDecoder.
117 jobject render_egl_context_;
118
115 bool key_frame_required_; 119 bool key_frame_required_;
116 bool inited_; 120 bool inited_;
117 bool sw_fallback_required_; 121 bool sw_fallback_required_;
118 bool use_surface_; 122 bool use_surface_;
119 VideoCodec codec_; 123 VideoCodec codec_;
120 webrtc::I420BufferPool decoded_frame_pool_; 124 webrtc::I420BufferPool decoded_frame_pool_;
121 rtc::scoped_refptr<SurfaceTextureHelper> surface_texture_helper_; 125 rtc::scoped_refptr<SurfaceTextureHelper> surface_texture_helper_;
122 DecodedImageCallback* callback_; 126 DecodedImageCallback* callback_;
123 int frames_received_; // Number of frames received by decoder. 127 int frames_received_; // Number of frames received by decoder.
124 int frames_decoded_; // Number of frames decoded by decoder. 128 int frames_decoded_; // Number of frames decoded by decoder.
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
158 // MediaCodecVideoDecoder.DecodedOutputBuffer fields. 162 // MediaCodecVideoDecoder.DecodedOutputBuffer fields.
159 jfieldID j_info_index_field_; 163 jfieldID j_info_index_field_;
160 jfieldID j_info_offset_field_; 164 jfieldID j_info_offset_field_;
161 jfieldID j_info_size_field_; 165 jfieldID j_info_size_field_;
162 jfieldID j_info_timestamp_ms_field_; 166 jfieldID j_info_timestamp_ms_field_;
163 jfieldID j_info_ntp_timestamp_ms_field_; 167 jfieldID j_info_ntp_timestamp_ms_field_;
164 jfieldID j_byte_buffer_decode_time_ms_field_; 168 jfieldID j_byte_buffer_decode_time_ms_field_;
165 169
166 // Global references; must be deleted in Release(). 170 // Global references; must be deleted in Release().
167 std::vector<jobject> input_buffers_; 171 std::vector<jobject> input_buffers_;
168
169 // Render EGL context - owned by factory, should not be allocated/destroyed
170 // by VideoDecoder.
171 jobject render_egl_context_;
172 }; 172 };
173 173
174 MediaCodecVideoDecoder::MediaCodecVideoDecoder( 174 MediaCodecVideoDecoder::MediaCodecVideoDecoder(
175 JNIEnv* jni, VideoCodecType codecType, jobject render_egl_context) : 175 JNIEnv* jni, VideoCodecType codecType, jobject render_egl_context) :
176 codecType_(codecType), 176 codecType_(codecType),
177 render_egl_context_(render_egl_context), 177 render_egl_context_(render_egl_context),
178 key_frame_required_(true), 178 key_frame_required_(true),
179 inited_(false), 179 inited_(false),
180 sw_fallback_required_(false), 180 sw_fallback_required_(false),
181 codec_thread_(new Thread()), 181 codec_thread_(new Thread()),
(...skipping 725 matching lines...) Expand 10 before | Expand all | Expand 10 after
907 ALOGD << "Destroy video decoder."; 907 ALOGD << "Destroy video decoder.";
908 delete decoder; 908 delete decoder;
909 } 909 }
910 910
911 const char* MediaCodecVideoDecoder::ImplementationName() const { 911 const char* MediaCodecVideoDecoder::ImplementationName() const {
912 return "MediaCodec"; 912 return "MediaCodec";
913 } 913 }
914 914
915 } // namespace webrtc_jni 915 } // namespace webrtc_jni
916 916
OLDNEW
« no previous file with comments | « DEPS ('k') | talk/app/webrtc/java/jni/androidmediaencoder_jni.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698