12e98d45e2455d3b48ceac1ad5457623d39802c9esprang@webrtc.org/*
22e98d45e2455d3b48ceac1ad5457623d39802c9esprang@webrtc.org *  Copyright (c) 2013 The WebRTC project authors. All Rights Reserved.
32e98d45e2455d3b48ceac1ad5457623d39802c9esprang@webrtc.org *
42e98d45e2455d3b48ceac1ad5457623d39802c9esprang@webrtc.org *  Use of this source code is governed by a BSD-style license
52e98d45e2455d3b48ceac1ad5457623d39802c9esprang@webrtc.org *  that can be found in the LICENSE file in the root of the source
62e98d45e2455d3b48ceac1ad5457623d39802c9esprang@webrtc.org *  tree. An additional intellectual property rights grant can be found
72e98d45e2455d3b48ceac1ad5457623d39802c9esprang@webrtc.org *  in the file PATENTS.  All contributing project authors may
82e98d45e2455d3b48ceac1ad5457623d39802c9esprang@webrtc.org *  be found in the AUTHORS file in the root of the source tree.
92e98d45e2455d3b48ceac1ad5457623d39802c9esprang@webrtc.org */
102e98d45e2455d3b48ceac1ad5457623d39802c9esprang@webrtc.org
112e98d45e2455d3b48ceac1ad5457623d39802c9esprang@webrtc.org#include "webrtc/video/encoded_frame_callback_adapter.h"
122e98d45e2455d3b48ceac1ad5457623d39802c9esprang@webrtc.org
132e98d45e2455d3b48ceac1ad5457623d39802c9esprang@webrtc.org#include "webrtc/modules/video_coding/main/source/encoded_frame.h"
142e98d45e2455d3b48ceac1ad5457623d39802c9esprang@webrtc.org
152e98d45e2455d3b48ceac1ad5457623d39802c9esprang@webrtc.orgnamespace webrtc {
162e98d45e2455d3b48ceac1ad5457623d39802c9esprang@webrtc.orgnamespace internal {
172e98d45e2455d3b48ceac1ad5457623d39802c9esprang@webrtc.org
182e98d45e2455d3b48ceac1ad5457623d39802c9esprang@webrtc.orgEncodedFrameCallbackAdapter::EncodedFrameCallbackAdapter(
192e98d45e2455d3b48ceac1ad5457623d39802c9esprang@webrtc.org    EncodedFrameObserver* observer) : observer_(observer) {
202e98d45e2455d3b48ceac1ad5457623d39802c9esprang@webrtc.org}
212e98d45e2455d3b48ceac1ad5457623d39802c9esprang@webrtc.org
222e98d45e2455d3b48ceac1ad5457623d39802c9esprang@webrtc.orgEncodedFrameCallbackAdapter::~EncodedFrameCallbackAdapter() {}
232e98d45e2455d3b48ceac1ad5457623d39802c9esprang@webrtc.org
242e98d45e2455d3b48ceac1ad5457623d39802c9esprang@webrtc.orgint32_t EncodedFrameCallbackAdapter::Encoded(
252e98d45e2455d3b48ceac1ad5457623d39802c9esprang@webrtc.org    EncodedImage& encodedImage,
262e98d45e2455d3b48ceac1ad5457623d39802c9esprang@webrtc.org    const CodecSpecificInfo* codecSpecificInfo,
272e98d45e2455d3b48ceac1ad5457623d39802c9esprang@webrtc.org    const RTPFragmentationHeader* fragmentation) {
282e98d45e2455d3b48ceac1ad5457623d39802c9esprang@webrtc.org  assert(observer_ != NULL);
292e98d45e2455d3b48ceac1ad5457623d39802c9esprang@webrtc.org  FrameType frame_type =
302e98d45e2455d3b48ceac1ad5457623d39802c9esprang@webrtc.org        VCMEncodedFrame::ConvertFrameType(encodedImage._frameType);
312e98d45e2455d3b48ceac1ad5457623d39802c9esprang@webrtc.org  const EncodedFrame frame(encodedImage._buffer,
322e98d45e2455d3b48ceac1ad5457623d39802c9esprang@webrtc.org                           encodedImage._length,
332e98d45e2455d3b48ceac1ad5457623d39802c9esprang@webrtc.org                           frame_type);
342e98d45e2455d3b48ceac1ad5457623d39802c9esprang@webrtc.org  observer_->EncodedFrameCallback(frame);
352e98d45e2455d3b48ceac1ad5457623d39802c9esprang@webrtc.org  return 0;
362e98d45e2455d3b48ceac1ad5457623d39802c9esprang@webrtc.org}
372e98d45e2455d3b48ceac1ad5457623d39802c9esprang@webrtc.org
382e98d45e2455d3b48ceac1ad5457623d39802c9esprang@webrtc.org}  // namespace internal
392e98d45e2455d3b48ceac1ad5457623d39802c9esprang@webrtc.org}  // namespace webrtc
40