Developers
Exposed Interfaces
Among with interfaces that are usual for DirectShow source filter (IBaseFilter, IFileSourceFilter, IAMFilterMiscFlags, ISpecifyPropertyPages
), filter exposes few other standard and custom interfaces. They are listed below. Not all methods of these interfaces are implemented. Unimplemented ones return E_NOIMPL
.
IAMMediaContent
Interface documentation: IAMMediaContent
.
Implemented methods:
get_Title
Returns video title. One line of the text.get_Description
Returns video description. Multi-line text.
Returned text is ready to use, i.e. there are no URL encoding, HTML entities or tags.
IAMOpenProgress
Interface documentation: IAMOpenProgress
.
Implemented methods:
AbortOperation
Downloading of the video page and subtitles, analysis and any other actions related to media file URLs retrieval (but not their download) are done inIFileSourceFilter::Load
method.AbortOperation
can be used to cancel this process. It does not take any action and returnsE_UNEXPECTED
at any other time except during theLoad
method.
ISupportedSites
1.4.3+
This interface provides info about supported sites and exposes the way to test whether particular URL is supported or not.
This is custom interface, detailed description can be found in the archive below.
IPropertyBag
, IPropertyBag2
1.6.1+
Interface documentation: IPropertyBag
, IPropertyBag2
.
Using these interfaces filter exposes additional metadata.
List of exposed fields:
Name | Description |
---|---|
title |
Original video title on the site |
description |
Video description on the site |
channel_title |
The title of the channel to which belongs the video. In most cases this is display name of the user but not always: channels on Youtube may not be associated with a user. Also in case of Youtube this is a display name of the channel. I.e. it does not have to be unique so different channels can have the same display name |
channel_url |
URL of the channel containing this video. Unlike channel_title , this URL is unique for each channel |
upload_date |
Upload date in format YYYY-MM-DD |
view_count |
Number of times that the video has been viewed |
thumbnail_url |
URL to the video thumbnail |
like_count, dislike_count |
Number of people who liked/disliked the video |