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

Side by Side Diff: media/base/renderer.h

Issue 935243002: Decryptors can report kNoKey to WebMediaPlayer (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Android changes Created 5 years, 9 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
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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_BASE_RENDERER_H_ 5 #ifndef MEDIA_BASE_RENDERER_H_
6 #define MEDIA_BASE_RENDERER_H_ 6 #define MEDIA_BASE_RENDERER_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 "base/time/time.h" 10 #include "base/time/time.h"
(...skipping 25 matching lines...) Expand all
36 // destruction of the caller, so it must be run only prior to returning. 36 // destruction of the caller, so it must be run only prior to returning.
37 // 37 //
38 // Permanent callbacks: 38 // Permanent callbacks:
39 // - |statistics_cb|: Executed periodically with rendering statistics. 39 // - |statistics_cb|: Executed periodically with rendering statistics.
40 // - |buffering_state_cb|: Executed when buffering state is changed. 40 // - |buffering_state_cb|: Executed when buffering state is changed.
41 // - |paint_cb|: Executed when there is a VideoFrame ready to paint. Can be 41 // - |paint_cb|: Executed when there is a VideoFrame ready to paint. Can be
42 // ignored if the Renderer handles the painting by itself. Can 42 // ignored if the Renderer handles the painting by itself. Can
43 // be called from any thread. 43 // be called from any thread.
44 // - |ended_cb|: Executed when rendering has reached the end of stream. 44 // - |ended_cb|: Executed when rendering has reached the end of stream.
45 // - |error_cb|: Executed if any error was encountered after initialization. 45 // - |error_cb|: Executed if any error was encountered after initialization.
46 virtual void Initialize(DemuxerStreamProvider* demuxer_stream_provider, 46 // - |waiting_for_decryption_key_cb|: Executed whenever the key needed to
47 const PipelineStatusCB& init_cb, 47 // decrypt the stream is not available.
48 const StatisticsCB& statistics_cb, 48 virtual void Initialize(
49 const BufferingStateCB& buffering_state_cb, 49 DemuxerStreamProvider* demuxer_stream_provider,
50 const PaintCB& paint_cb, 50 const PipelineStatusCB& init_cb,
51 const base::Closure& ended_cb, 51 const StatisticsCB& statistics_cb,
52 const PipelineStatusCB& error_cb) = 0; 52 const BufferingStateCB& buffering_state_cb,
53 const PaintCB& paint_cb,
54 const base::Closure& ended_cb,
55 const PipelineStatusCB& error_cb,
56 const base::Closure& waiting_for_decryption_key_cb) = 0;
53 57
54 // Associates the |cdm_context| with this Renderer for decryption (and 58 // Associates the |cdm_context| with this Renderer for decryption (and
55 // decoding) of media data, then fires |cdm_attached_cb| with the result. 59 // decoding) of media data, then fires |cdm_attached_cb| with the result.
56 virtual void SetCdm(CdmContext* cdm_context, 60 virtual void SetCdm(CdmContext* cdm_context,
57 const CdmAttachedCB& cdm_attached_cb) = 0; 61 const CdmAttachedCB& cdm_attached_cb) = 0;
58 62
59 // The following functions must be called after Initialize(). 63 // The following functions must be called after Initialize().
60 64
61 // Discards any buffered data, executing |flush_cb| when completed. 65 // Discards any buffered data, executing |flush_cb| when completed.
62 virtual void Flush(const base::Closure& flush_cb) = 0; 66 virtual void Flush(const base::Closure& flush_cb) = 0;
(...skipping 16 matching lines...) Expand all
79 // Returns whether |this| renders video. 83 // Returns whether |this| renders video.
80 virtual bool HasVideo() = 0; 84 virtual bool HasVideo() = 0;
81 85
82 private: 86 private:
83 DISALLOW_COPY_AND_ASSIGN(Renderer); 87 DISALLOW_COPY_AND_ASSIGN(Renderer);
84 }; 88 };
85 89
86 } // namespace media 90 } // namespace media
87 91
88 #endif // MEDIA_BASE_RENDERER_H_ 92 #endif // MEDIA_BASE_RENDERER_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698