Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(540)

Side by Side Diff: media/base/win/mf_helpers.cc

Issue 2172703002: Revert of H264 HW encode using MediaFoundation (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « media/base/win/mf_helpers.h ('k') | media/gpu/BUILD.gn » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 // Copyright 2016 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.
4
5 #include "media/base/win/mf_helpers.h"
6
7 namespace media {
8
9 namespace mf {
10
11 void LogDXVAError(int line) {
12 LOG(ERROR) << "Error in dxva_video_decode_accelerator_win.cc on line "
13 << line;
14 }
15
16 IMFSample* CreateEmptySampleWithBuffer(uint32_t buffer_length, int align) {
17 CHECK_GT(buffer_length, 0U);
18
19 base::win::ScopedComPtr<IMFSample> sample;
20 HRESULT hr = MFCreateSample(sample.Receive());
21 RETURN_ON_HR_FAILURE(hr, "MFCreateSample failed", NULL);
22
23 base::win::ScopedComPtr<IMFMediaBuffer> buffer;
24 if (align == 0) {
25 // Note that MFCreateMemoryBuffer is same as MFCreateAlignedMemoryBuffer
26 // with the align argument being 0.
27 hr = MFCreateMemoryBuffer(buffer_length, buffer.Receive());
28 } else {
29 hr =
30 MFCreateAlignedMemoryBuffer(buffer_length, align - 1, buffer.Receive());
31 }
32 RETURN_ON_HR_FAILURE(hr, "Failed to create memory buffer for sample", NULL);
33
34 hr = sample->AddBuffer(buffer.get());
35 RETURN_ON_HR_FAILURE(hr, "Failed to add buffer to sample", NULL);
36
37 buffer->SetCurrentLength(0);
38 return sample.Detach();
39 }
40
41 MediaBufferScopedPointer::MediaBufferScopedPointer(IMFMediaBuffer* media_buffer)
42 : media_buffer_(media_buffer),
43 buffer_(nullptr),
44 max_length_(0),
45 current_length_(0) {
46 HRESULT hr = media_buffer_->Lock(&buffer_, &max_length_, &current_length_);
47 CHECK(SUCCEEDED(hr));
48 }
49
50 MediaBufferScopedPointer::~MediaBufferScopedPointer() {
51 HRESULT hr = media_buffer_->Unlock();
52 CHECK(SUCCEEDED(hr));
53 }
54
55 } // namespace mf
56
57 } // namespace media
OLDNEW
« no previous file with comments | « media/base/win/mf_helpers.h ('k') | media/gpu/BUILD.gn » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698