OLD | NEW |
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 // This class interacts with OmxCodec and the VideoDecoderImpl | 5 // This class interacts with OmxCodec and the VideoDecoderImpl |
6 // in the media pipeline. | 6 // in the media pipeline. |
7 // | 7 // |
8 // THREADING SEMANTICS | 8 // THREADING SEMANTICS |
9 // | 9 // |
10 // This class is created by OmxVideoDecoder and lives on the thread | 10 // This class is created by OmxVideoDecoder and lives on the thread |
(...skipping 258 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
269 | 269 |
270 if (client_state_ == kClientFlushing) { | 270 if (client_state_ == kClientFlushing) { |
271 InitialReadBuffer(); | 271 InitialReadBuffer(); |
272 OnStateSetEventFunc = &OmxVideoDecodeEngine::DoneSetStateExecuting; | 272 OnStateSetEventFunc = &OmxVideoDecodeEngine::DoneSetStateExecuting; |
273 TransitionToState(OMX_StateExecuting); | 273 TransitionToState(OMX_StateExecuting); |
274 } | 274 } |
275 | 275 |
276 event_handler_->OnSeekComplete(); | 276 event_handler_->OnSeekComplete(); |
277 } | 277 } |
278 | 278 |
| 279 int OmxVideoDecodeEngine::current_omx_spec_version() const { |
| 280 return 0x00000101; |
| 281 } |
| 282 |
279 VideoFrame::Format OmxVideoDecodeEngine::GetSurfaceFormat() const { | 283 VideoFrame::Format OmxVideoDecodeEngine::GetSurfaceFormat() const { |
280 // TODO(jiesun): Both OmxHeaderType and EGLImage surface type could have | 284 // TODO(jiesun): Both OmxHeaderType and EGLImage surface type could have |
281 // different surface formats. | 285 // different surface formats. |
282 return uses_egl_image_ ? VideoFrame::RGBA : VideoFrame::YV12; | 286 return uses_egl_image_ ? VideoFrame::RGBA : VideoFrame::YV12; |
283 } | 287 } |
284 | 288 |
285 void OmxVideoDecodeEngine::Uninitialize() { | 289 void OmxVideoDecodeEngine::Uninitialize() { |
286 DCHECK_EQ(message_loop_, MessageLoop::current()); | 290 DCHECK_EQ(message_loop_, MessageLoop::current()); |
287 | 291 |
288 if (client_state_ == kClientError) { | 292 if (client_state_ == kClientError) { |
(...skipping 1044 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1333 NewRunnableMethod(decoder, | 1337 NewRunnableMethod(decoder, |
1334 &OmxVideoDecodeEngine::FillBufferDoneTask, buffer)); | 1338 &OmxVideoDecodeEngine::FillBufferDoneTask, buffer)); |
1335 return OMX_ErrorNone; | 1339 return OMX_ErrorNone; |
1336 } | 1340 } |
1337 | 1341 |
1338 } // namespace media | 1342 } // namespace media |
1339 | 1343 |
1340 // Disable refcounting for this object because this object only lives | 1344 // Disable refcounting for this object because this object only lives |
1341 // on the video decoder thread and there's no need to refcount it. | 1345 // on the video decoder thread and there's no need to refcount it. |
1342 DISABLE_RUNNABLE_METHOD_REFCOUNT(media::OmxVideoDecodeEngine); | 1346 DISABLE_RUNNABLE_METHOD_REFCOUNT(media::OmxVideoDecodeEngine); |
OLD | NEW |