| Index: media/ffmpeg/ffmpeg_deleters.h
|
| diff --git a/media/ffmpeg/ffmpeg_deleters.h b/media/ffmpeg/ffmpeg_deleters.h
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..3429e05c7a699d172ae4073171f2e30ad35c1035
|
| --- /dev/null
|
| +++ b/media/ffmpeg/ffmpeg_deleters.h
|
| @@ -0,0 +1,42 @@
|
| +// Copyright 2014 The Chromium Authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +
|
| +// This file contains declarations for deleters for use with |scoped_ptr|. To
|
| +// avoid requiring additional #includes, the (inline) definitions are in
|
| +// ffmpeg_common.h. (Forward declarations of deleters aren't sufficient for
|
| +// |scoped_ptr|.)
|
| +
|
| +#ifndef MEDIA_FFMPEG_FFMPEG_DELETERS_H_
|
| +#define MEDIA_FFMPEG_FFMPEG_DELETERS_H_
|
| +
|
| +namespace media {
|
| +
|
| +// Wraps FFmpeg's av_free() in a class that can be passed as a template argument
|
| +// to scoped_ptr_malloc.
|
| +struct ScopedPtrAVFree {
|
| + void operator()(void* x) const;
|
| +};
|
| +
|
| +// This assumes that the AVPacket being captured was allocated outside of
|
| +// FFmpeg via the new operator. Do not use this with AVPacket instances that
|
| +// are allocated via malloc() or av_malloc().
|
| +struct ScopedPtrAVFreePacket {
|
| + void operator()(void* x) const;
|
| +};
|
| +
|
| +// Frees an AVCodecContext object in a class that can be passed as a Deleter
|
| +// argument to scoped_ptr_malloc.
|
| +struct ScopedPtrAVFreeContext {
|
| + void operator()(void* x) const;
|
| +};
|
| +
|
| +// Frees an AVFrame object in a class that can be passed as a Deleter argument
|
| +// to scoped_ptr_malloc.
|
| +struct ScopedPtrAVFreeFrame {
|
| + void operator()(void* x) const;
|
| +};
|
| +
|
| +} // namespace media
|
| +
|
| +#endif // MEDIA_FFMPEG_FFMPEG_DELETERS_H_
|
|
|