| OLD | NEW | 
|    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_BASE_PIPELINE_H_ |    5 #ifndef MEDIA_BASE_PIPELINE_H_ | 
|    6 #define MEDIA_BASE_PIPELINE_H_ |    6 #define MEDIA_BASE_PIPELINE_H_ | 
|    7  |    7  | 
 |    8 #include <memory> | 
 |    9  | 
|    8 #include "base/memory/ref_counted.h" |   10 #include "base/memory/ref_counted.h" | 
|    9 #include "base/time/time.h" |   11 #include "base/time/time.h" | 
|   10 #include "media/base/buffering_state.h" |   12 #include "media/base/buffering_state.h" | 
|   11 #include "media/base/cdm_context.h" |   13 #include "media/base/cdm_context.h" | 
|   12 #include "media/base/media_export.h" |   14 #include "media/base/media_export.h" | 
|   13 #include "media/base/pipeline_status.h" |   15 #include "media/base/pipeline_status.h" | 
|   14 #include "media/base/ranges.h" |   16 #include "media/base/ranges.h" | 
|   15 #include "media/base/text_track.h" |   17 #include "media/base/text_track.h" | 
|   16 #include "media/base/video_rotation.h" |   18 #include "media/base/video_rotation.h" | 
|   17 #include "ui/gfx/geometry/size.h" |   19 #include "ui/gfx/geometry/size.h" | 
| (...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|   54   //                 video in supported formats are known. |   56   //                 video in supported formats are known. | 
|   55   //   |buffering_state_cb| will be executed whenever there are changes in the |   57   //   |buffering_state_cb| will be executed whenever there are changes in the | 
|   56   //                        overall buffering state of the pipeline. |   58   //                        overall buffering state of the pipeline. | 
|   57   //   |duration_change_cb| optional callback that will be executed whenever the |   59   //   |duration_change_cb| optional callback that will be executed whenever the | 
|   58   //                        presentation duration changes. |   60   //                        presentation duration changes. | 
|   59   //   |add_text_track_cb| will be executed whenever a text track is added. |   61   //   |add_text_track_cb| will be executed whenever a text track is added. | 
|   60   //   |waiting_for_decryption_key_cb| will be executed whenever the key needed |   62   //   |waiting_for_decryption_key_cb| will be executed whenever the key needed | 
|   61   //                                   to decrypt the stream is not available. |   63   //                                   to decrypt the stream is not available. | 
|   62   // It is an error to call this method after the pipeline has already started. |   64   // It is an error to call this method after the pipeline has already started. | 
|   63   virtual void Start(Demuxer* demuxer, |   65   virtual void Start(Demuxer* demuxer, | 
|   64                      scoped_ptr<Renderer> renderer, |   66                      std::unique_ptr<Renderer> renderer, | 
|   65                      const base::Closure& ended_cb, |   67                      const base::Closure& ended_cb, | 
|   66                      const PipelineStatusCB& error_cb, |   68                      const PipelineStatusCB& error_cb, | 
|   67                      const PipelineStatusCB& seek_cb, |   69                      const PipelineStatusCB& seek_cb, | 
|   68                      const PipelineMetadataCB& metadata_cb, |   70                      const PipelineMetadataCB& metadata_cb, | 
|   69                      const BufferingStateCB& buffering_state_cb, |   71                      const BufferingStateCB& buffering_state_cb, | 
|   70                      const base::Closure& duration_change_cb, |   72                      const base::Closure& duration_change_cb, | 
|   71                      const AddTextTrackCB& add_text_track_cb, |   73                      const AddTextTrackCB& add_text_track_cb, | 
|   72                      const base::Closure& waiting_for_decryption_key_cb) = 0; |   74                      const base::Closure& waiting_for_decryption_key_cb) = 0; | 
|   73  |   75  | 
|   74   // Asynchronously stops the pipeline, executing |stop_cb| when the pipeline |   76   // Asynchronously stops the pipeline, executing |stop_cb| when the pipeline | 
| (...skipping 21 matching lines...) Expand all  Loading... | 
|   96   // last rendered frame. |   98   // last rendered frame. | 
|   97   // |   99   // | 
|   98   // It is an error to call this method if the pipeline has not started or is |  100   // It is an error to call this method if the pipeline has not started or is | 
|   99   // seeking. |  101   // seeking. | 
|  100   virtual void Suspend(const PipelineStatusCB& suspend_cb) = 0; |  102   virtual void Suspend(const PipelineStatusCB& suspend_cb) = 0; | 
|  101  |  103  | 
|  102   // Resume the pipeline with a new renderer, and initialize it with a seek. |  104   // Resume the pipeline with a new renderer, and initialize it with a seek. | 
|  103   // |  105   // | 
|  104   // It is an error to call this method if the pipeline has not finished |  106   // It is an error to call this method if the pipeline has not finished | 
|  105   // suspending. |  107   // suspending. | 
|  106   virtual void Resume(scoped_ptr<Renderer> renderer, |  108   virtual void Resume(std::unique_ptr<Renderer> renderer, | 
|  107                       base::TimeDelta timestamp, |  109                       base::TimeDelta timestamp, | 
|  108                       const PipelineStatusCB& seek_cb) = 0; |  110                       const PipelineStatusCB& seek_cb) = 0; | 
|  109  |  111  | 
|  110   // Returns true if the pipeline has been started via Start().  If IsRunning() |  112   // Returns true if the pipeline has been started via Start().  If IsRunning() | 
|  111   // returns true, it is expected that Stop() will be called before destroying |  113   // returns true, it is expected that Stop() will be called before destroying | 
|  112   // the pipeline. |  114   // the pipeline. | 
|  113   virtual bool IsRunning() const = 0; |  115   virtual bool IsRunning() const = 0; | 
|  114  |  116  | 
|  115   // Gets the current playback rate of the pipeline.  When the pipeline is |  117   // Gets the current playback rate of the pipeline.  When the pipeline is | 
|  116   // started, the playback rate will be 0.0.  A rate of 1.0 indicates |  118   // started, the playback rate will be 0.0.  A rate of 1.0 indicates | 
| (...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  153   // Gets the current pipeline statistics. |  155   // Gets the current pipeline statistics. | 
|  154   virtual PipelineStatistics GetStatistics() const = 0; |  156   virtual PipelineStatistics GetStatistics() const = 0; | 
|  155  |  157  | 
|  156   virtual void SetCdm(CdmContext* cdm_context, |  158   virtual void SetCdm(CdmContext* cdm_context, | 
|  157                       const CdmAttachedCB& cdm_attached_cb) = 0; |  159                       const CdmAttachedCB& cdm_attached_cb) = 0; | 
|  158 }; |  160 }; | 
|  159  |  161  | 
|  160 }  // namespace media |  162 }  // namespace media | 
|  161  |  163  | 
|  162 #endif  // MEDIA_BASE_PIPELINE_H_ |  164 #endif  // MEDIA_BASE_PIPELINE_H_ | 
| OLD | NEW |