summaryrefslogtreecommitdiffstats
path: root/media/base/pipeline_impl.h
diff options
context:
space:
mode:
authorkylep@chromium.org <kylep@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-07-28 20:00:44 +0000
committerkylep@chromium.org <kylep@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-07-28 20:00:44 +0000
commit4940216a4f034e8de5740d30b413eec3ed495b6d (patch)
treeb8aa9c088d767f309b0a1a880c587ce23040272f /media/base/pipeline_impl.h
parent024086b48429fe6aab498df59b1f463b81d3073f (diff)
downloadchromium_src-4940216a4f034e8de5740d30b413eec3ed495b6d.zip
chromium_src-4940216a4f034e8de5740d30b413eec3ed495b6d.tar.gz
chromium_src-4940216a4f034e8de5740d30b413eec3ed495b6d.tar.bz2
Pipeline will execute a callback whenever an run-time error has happened.
BUG=16738 TEST=pipeline_impl_unittest.cc Review URL: http://codereview.chromium.org/159373 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21877 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'media/base/pipeline_impl.h')
-rw-r--r--media/base/pipeline_impl.h9
1 files changed, 8 insertions, 1 deletions
diff --git a/media/base/pipeline_impl.h b/media/base/pipeline_impl.h
index 4eed436..be3ad28 100644
--- a/media/base/pipeline_impl.h
+++ b/media/base/pipeline_impl.h
@@ -7,9 +7,10 @@
#ifndef MEDIA_BASE_PIPELINE_IMPL_H_
#define MEDIA_BASE_PIPELINE_IMPL_H_
+#include <map>
+#include <set>
#include <string>
#include <vector>
-#include <set>
#include "base/message_loop.h"
#include "base/ref_counted.h"
@@ -82,6 +83,11 @@ class PipelineImpl : public Pipeline, public FilterHost {
virtual void GetVideoSize(size_t* width_out, size_t* height_out) const;
virtual PipelineError GetError() const;
+ // |error_callback_| will be executed upon an error in the pipeline. If
+ // |error_callback_| is NULL, it is ignored. The pipeline takes ownernship
+ // of |error_callback|.
+ virtual void SetPipelineErrorCallback(PipelineCallback* error_callback);
+
private:
// Pipeline states, as described above.
enum State {
@@ -314,6 +320,7 @@ class PipelineImpl : public Pipeline, public FilterHost {
// Callbacks for various pipeline operations.
scoped_ptr<PipelineCallback> seek_callback_;
scoped_ptr<PipelineCallback> stop_callback_;
+ scoped_ptr<PipelineCallback> error_callback_;
// Vector of our filters and map maintaining the relationship between the
// FilterType and the filter itself.