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

Side by Side Diff: chromecast/media/cma/pipeline/av_pipeline_impl.h

Issue 987513006: Chromecast: fixes crash in AvPipelineImpl teardown. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: changes Finalize signature (not a build failure on arm...) 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 CHROMECAST_MEDIA_CMA_BASE_AV_PIPELINE_IMPL_H_ 5 #ifndef CHROMECAST_MEDIA_CMA_BASE_AV_PIPELINE_IMPL_H_
6 #define CHROMECAST_MEDIA_CMA_BASE_AV_PIPELINE_IMPL_H_ 6 #define CHROMECAST_MEDIA_CMA_BASE_AV_PIPELINE_IMPL_H_
7 7
8 #include <list> 8 #include <list>
9 9
10 #include "base/callback.h" 10 #include "base/callback.h"
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
52 // Setting the frame provider or the client must be done in the 52 // Setting the frame provider or the client must be done in the
53 // |kUninitialized| state. 53 // |kUninitialized| state.
54 void SetCodedFrameProvider(scoped_ptr<CodedFrameProvider> frame_provider, 54 void SetCodedFrameProvider(scoped_ptr<CodedFrameProvider> frame_provider,
55 size_t max_buffer_size, 55 size_t max_buffer_size,
56 size_t max_frame_size); 56 size_t max_frame_size);
57 void SetClient(const AvPipelineClient& client); 57 void SetClient(const AvPipelineClient& client);
58 58
59 // Initialize the pipeline. 59 // Initialize the pipeline.
60 bool Initialize(); 60 bool Initialize();
61 61
62 // Destroy the pipeline. No other calls into AvPipelineImpl must be made
63 // after this.
64 void Finalize();
65
62 // Setup the pipeline and ensure samples are available for the given media 66 // Setup the pipeline and ensure samples are available for the given media
63 // time, then start rendering samples. 67 // time, then start rendering samples.
64 bool StartPlayingFrom(base::TimeDelta time, 68 bool StartPlayingFrom(base::TimeDelta time,
65 const scoped_refptr<BufferingState>& buffering_state); 69 const scoped_refptr<BufferingState>& buffering_state);
66 70
67 // Flush any remaining samples in the pipeline. 71 // Flush any remaining samples in the pipeline.
68 // Invoke |done_cb| when flush is completed. 72 // Invoke |done_cb| when flush is completed.
69 void Flush(const base::Closure& done_cb); 73 void Flush(const base::Closure& done_cb);
70 74
71 // Tear down the pipeline and release the hardware resources. 75 // Tear down the pipeline and release the hardware resources.
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after
163 BrowserCdmCast* media_keys_; 167 BrowserCdmCast* media_keys_;
164 int media_keys_callback_id_; 168 int media_keys_callback_id_;
165 169
166 DISALLOW_COPY_AND_ASSIGN(AvPipelineImpl); 170 DISALLOW_COPY_AND_ASSIGN(AvPipelineImpl);
167 }; 171 };
168 172
169 } // namespace media 173 } // namespace media
170 } // namespace chromecast 174 } // namespace chromecast
171 175
172 #endif // CHROMECAST_MEDIA_CMA_BASE_AV_PIPELINE_IMPL_H_ 176 #endif // CHROMECAST_MEDIA_CMA_BASE_AV_PIPELINE_IMPL_H_
OLDNEW
« no previous file with comments | « chromecast/media/cma/pipeline/audio_pipeline_impl.cc ('k') | chromecast/media/cma/pipeline/av_pipeline_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698