Interface ResolvingDataSource.Resolver

    • Method Detail

      • resolveDataSpec

        DataSpec resolveDataSpec​(DataSpec dataSpec)
                          throws IOException
        Resolves a DataSpec before forwarding it to the wrapped DataSource. This method is allowed to block until the DataSpec has been resolved.

        Note that this method is called for every new connection, so caching of results is recommended, especially if network operations are involved.

        Parameters:
        dataSpec - The original DataSpec.
        Returns:
        The resolved DataSpec.
        Throws:
        IOException - If an IOException occurred while resolving the DataSpec.
      • resolveReportedUri

        default Uri resolveReportedUri​(Uri uri)
        Resolves a URI reported by DataSource.getUri() for event reporting and caching purposes.

        Implementations do not need to overwrite this method unless they want to change the reported URI.

        This method is not allowed to block.

        Parameters:
        uri - The URI as reported by DataSource.getUri().
        Returns:
        The resolved URI used for event reporting and caching.