#ifndef MEDIA_BASE_ANDROID_VIDEO_DECODER_JOB_H_
#define MEDIA_BASE_ANDROID_VIDEO_DECODER_JOB_H_
#include <jni.h>
#include "media/base/android/media_decoder_job.h"
namespace media {
class VideoCodecBridge;
class VideoDecoderJob : public MediaDecoderJob {
public:
virtual ~VideoDecoderJob();
static VideoDecoderJob* Create(const VideoCodec video_codec,
bool is_secure,
const gfx::Size& size,
jobject surface,
jobject media_crypto,
const base::Closure& request_data_cb,
const base::Closure& request_resources_cb,
const base::Closure& release_resources_cb);
private:
VideoDecoderJob(scoped_ptr<VideoCodecBridge> video_codec_bridge,
const base::Closure& request_data_cb,
const base::Closure& request_resources_cb,
const base::Closure& release_resources_cb);
virtual void ReleaseOutputBuffer(
int output_buffer_index,
size_t size,
bool render_output,
const ReleaseOutputCompletionCallback& callback) OVERRIDE;
virtual bool ComputeTimeToRender() const OVERRIDE;
scoped_ptr<VideoCodecBridge> video_codec_bridge_;
base::Closure release_resources_cb_;
};
}
#endif