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 13namespace media { 14 15// Interceptor for content embedders to handle custom media urls 16// and translate them into files containing media. 17class 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