Home | History | Annotate | Download | only in android
      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
      3 // found in the LICENSE file.
      4 
      5 #ifndef MEDIA_BASE_ANDROID_MEDIA_URL_INTERCEPTOR_H_
      6 #define MEDIA_BASE_ANDROID_MEDIA_URL_INTERCEPTOR_H_
      7 
      8 #include <string>
      9 
     10 #include "base/android/jni_android.h"
     11 #include "media/base/media_export.h"
     12 
     13 namespace media {
     14 
     15 // Interceptor for content embedders to handle custom media urls
     16 // and translate them into files containing media.
     17 class MEDIA_EXPORT MediaUrlInterceptor {
     18  public:
     19   virtual ~MediaUrlInterceptor() {};
     20 
     21   // Returns true if the embedder has intercepted the url and
     22   // false otherwise.
     23   // Output arguments (only when the url has been intercepted):
     24   // - |fd|: file descriptor to the file containing the media element.
     25   // - |offset|: offset in bytes from the start of the file to the
     26   //             media element.
     27   // - |size|: size in bytes of the media element.
     28   virtual bool Intercept(const std::string& url,
     29                          int* fd,
     30                          int64* offset,
     31                          int64* size) const = 0;
     32 };
     33 
     34 }  // namespace media
     35 
     36 #endif  // MEDIA_BASE_ANDROID_MEDIA_URL_INTERCEPTOR_H_
     37