Roll src/third_party/WebKit d9c6159:8139f33 (svn 201974:201975)
[chromium-blink-merge.git] / remoting / codec / video_decoder.h
blob65d488e31f0afd09654af8023f5ddf81e2056e5b
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef REMOTING_CODEC_VIDEO_DECODER_H_
6 #define REMOTING_CODEC_VIDEO_DECODER_H_
8 #include "base/basictypes.h"
10 namespace webrtc {
11 class DesktopFrame;
12 } // namespace webrtc
14 namespace remoting {
16 class VideoPacket;
18 // Interface for a decoder that decodes video packets.
19 class VideoDecoder {
20 public:
21 VideoDecoder() {}
22 virtual ~VideoDecoder() {}
24 // Decodes a video frame. Returns false in case of a failure. The caller must
25 // pre-allocate a |frame| with the size specified in the |packet|.
26 virtual bool DecodePacket(const VideoPacket& packet,
27 webrtc::DesktopFrame* frame) = 0;
30 } // namespace remoting
32 #endif // REMOTING_CODEC_VIDEO_DECODER_H_