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

Side by Side Diff: media/filters/decrypting_video_decoder.h

Issue 11428095: Pass in media message loop to VideoRendererBase and enforce calling on the right thread. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: GVD Created 8 years 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 | Annotate | Revision Log
« no previous file with comments | « media/base/bind_to_loop.h ('k') | media/filters/decrypting_video_decoder.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 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 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef MEDIA_FILTERS_DECRYPTING_VIDEO_DECODER_H_ 5 #ifndef MEDIA_FILTERS_DECRYPTING_VIDEO_DECODER_H_
6 #define MEDIA_FILTERS_DECRYPTING_VIDEO_DECODER_H_ 6 #define MEDIA_FILTERS_DECRYPTING_VIDEO_DECODER_H_
7 7
8 #include "base/callback.h" 8 #include "base/callback.h"
9 #include "base/memory/ref_counted.h" 9 #include "base/memory/ref_counted.h"
10 #include "media/base/decryptor.h" 10 #include "media/base/decryptor.h"
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
67 kDecryptorRequested, 67 kDecryptorRequested,
68 kPendingDecoderInit, 68 kPendingDecoderInit,
69 kIdle, 69 kIdle,
70 kPendingDemuxerRead, 70 kPendingDemuxerRead,
71 kPendingDecode, 71 kPendingDecode,
72 kWaitingForKey, 72 kWaitingForKey,
73 kDecodeFinished, 73 kDecodeFinished,
74 kStopped 74 kStopped
75 }; 75 };
76 76
77 // Carries out the initialization operation scheduled by Initialize().
78 void DoInitialize(const scoped_refptr<DemuxerStream>& stream,
79 const PipelineStatusCB& status_cb,
80 const StatisticsCB& statistics_cb);
81
82 // Callback for DecryptorHost::RequestDecryptor(). 77 // Callback for DecryptorHost::RequestDecryptor().
83 void SetDecryptor(Decryptor* decryptor); 78 void SetDecryptor(Decryptor* decryptor);
84 79
85 // Callback for Decryptor::InitializeVideoDecoder(). 80 // Callback for Decryptor::InitializeVideoDecoder().
86 void FinishInitialization(bool success); 81 void FinishInitialization(bool success);
87 82
88 // Carries out the buffer reading operation scheduled by Read().
89 void DoRead(const ReadCB& read_cb);
90
91 void ReadFromDemuxerStream(); 83 void ReadFromDemuxerStream();
92 84
93 // Callback for DemuxerStream::Read(). 85 // Callback for DemuxerStream::Read().
94 void DoDecryptAndDecodeBuffer(DemuxerStream::Status status, 86 void DecryptAndDecodeBuffer(DemuxerStream::Status status,
95 const scoped_refptr<DecoderBuffer>& buffer); 87 const scoped_refptr<DecoderBuffer>& buffer);
96 88
97 void DecodePendingBuffer(); 89 void DecodePendingBuffer();
98 90
99 // Callback for Decryptor::DecryptAndDecodeVideo(). 91 // Callback for Decryptor::DecryptAndDecodeVideo().
100 void DeliverFrame(int buffer_size, 92 void DeliverFrame(int buffer_size,
101 Decryptor::Status status, 93 Decryptor::Status status,
102 const scoped_refptr<VideoFrame>& frame); 94 const scoped_refptr<VideoFrame>& frame);
103 95
104 // Carries out the frame delivery operation scheduled by DeliverFrame().
105 void DoDeliverFrame(int buffer_size,
106 Decryptor::Status status,
107 const scoped_refptr<VideoFrame>& frame);
108
109 // Callback for the |decryptor_| to notify this object that a new key has been 96 // Callback for the |decryptor_| to notify this object that a new key has been
110 // added. 97 // added.
111 void OnKeyAdded(); 98 void OnKeyAdded();
112 99
113 // Reset decoder and call |reset_cb_|. 100 // Reset decoder and call |reset_cb_|.
114 void DoReset(); 101 void DoReset();
115 102
116 // Free decoder resources and call |stop_cb_|. 103 // Free decoder resources and call |stop_cb_|.
117 void DoStop(); 104 void DoStop();
118 105
(...skipping 27 matching lines...) Expand all
146 // A unique ID to trace Decryptor::DecryptAndDecodeVideo() call and the 133 // A unique ID to trace Decryptor::DecryptAndDecodeVideo() call and the
147 // matching DecryptCB call (in DoDeliverFrame()). 134 // matching DecryptCB call (in DoDeliverFrame()).
148 uint32 trace_id_; 135 uint32 trace_id_;
149 136
150 DISALLOW_COPY_AND_ASSIGN(DecryptingVideoDecoder); 137 DISALLOW_COPY_AND_ASSIGN(DecryptingVideoDecoder);
151 }; 138 };
152 139
153 } // namespace media 140 } // namespace media
154 141
155 #endif // MEDIA_FILTERS_DECRYPTING_VIDEO_DECODER_H_ 142 #endif // MEDIA_FILTERS_DECRYPTING_VIDEO_DECODER_H_
OLDNEW
« no previous file with comments | « media/base/bind_to_loop.h ('k') | media/filters/decrypting_video_decoder.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698