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