Lines Matching full:mdata
145 AMediaCodec *mData = new AMediaCodec();
146 mData->mLooper = new ALooper;
147 mData->mLooper->setName("NDK MediaCodec_looper");
148 size_t res = mData->mLooper->start(
154 AMediaCodec_delete(mData);
158 mData->mCodec = android::MediaCodec::CreateByType(mData->mLooper, name, encoder);
160 mData->mCodec = android::MediaCodec::CreateByComponentName(mData->mLooper, name);
162 if (mData->mCodec == NULL) { // failed to create codec
163 AMediaCodec_delete(mData);
166 mData->mHandler = new CodecHandler(mData);
167 mData->mLooper->registerHandler(mData->mHandler);
168 mData->mGeneration = 1;
169 mData->mRequestedActivityNotification = false;
170 mData->mCallback = NULL;
172 return mData;
191 media_status_t AMediaCodec_delete(AMediaCodec *mData) {
192 if (mData != NULL) {
193 if (mData->mCodec != NULL) {
194 mData->mCodec->release();
195 mData->mCodec.clear();
198 if (mData->mLooper != NULL) {
199 if (mData->mHandler != NULL) {
200 mData->mLooper->unregisterHandler(mData->mHandler->id());
202 mData->mLooper->stop();
203 mData->mLooper.clear();
205 delete mData;
212 AMediaCodec *mData,
225 return translate_error(mData->mCodec->configure(nativeFormat, surface,
230 media_status_t AMediaCodec_start(AMediaCodec *mData) {
231 status_t ret = mData->mCodec->start();
235 mData->mActivityNotification = new AMessage(kWhatActivityNotify, mData->mHandler);
236 mData->mActivityNotification->setInt32("generation", mData->mGeneration);
237 requestActivityNotification(mData);
242 media_status_t AMediaCodec_stop(AMediaCodec *mData) {
243 media_status_t ret = translate_error(mData->mCodec->stop());
245 sp<AMessage> msg = new AMessage(kWhatStopActivityNotifications, mData->mHandler);
248 mData->mActivityNotification.clear();
254 media_status_t AMediaCodec_flush(AMediaCodec *mData) {
255 return translate_error(mData->mCodec->flush());
259 ssize_t AMediaCodec_dequeueInputBuffer(AMediaCodec *mData, int64_t timeoutUs) {
261 status_t ret = mData->mCodec->dequeueInputBuffer(&idx, timeoutUs);
262 requestActivityNotification(mData);
270 uint8_t* AMediaCodec_getInputBuffer(AMediaCodec *mData, size_t idx, size_t *out_size) {
272 if (mData->mCodec->getInputBuffers(&abufs) == 0) {
288 uint8_t* AMediaCodec_getOutputBuffer(AMediaCodec *mData, size_t idx, size_t *out_size) {
290 if (mData->mCodec->getOutputBuffers(&abufs) == 0) {
306 media_status_t AMediaCodec_queueInputBuffer(AMediaCodec *mData,
310 status_t ret = mData->mCodec->queueInputBuffer(idx, offset, size, time, flags, &errorMsg);
315 ssize_t AMediaCodec_dequeueOutputBuffer(AMediaCodec *mData,
322 status_t ret = mData->mCodec->dequeueOutputBuffer(&idx, &offset, &size, &presentationTimeUs,
324 requestActivityNotification(mData);
345 AMediaFormat* AMediaCodec_getOutputFormat(AMediaCodec *mData) {
347 mData->mCodec->getOutputFormat(&format);
352 media_status_t AMediaCodec_releaseOutputBuffer(AMediaCodec *mData, size_t idx, bool render) {
354 return translate_error(mData->mCodec->renderOutputBufferAndRelease(idx));
356 return translate_error(mData->mCodec->releaseOutputBuffer(idx));
362 AMediaCodec *mData, size_t idx, int64_t timestampNs) {
364 return translate_error(mData->mCodec->renderOutputBufferAndRelease(idx, timestampNs));
368 media_status_t AMediaCodec_setOutputSurface(AMediaCodec *mData, ANativeWindow* window) {
373 return translate_error(mData->mCodec->setSurface(surface));
377 media_status_t AMediaCodec_setNotificationCallback(AMediaCodec *mData, OnCodecEvent callback,
379 mData->mCallback = callback;
380 mData->mCallbackUserData = userdata;