Methods and systems are provided for predicting an event's occurrence and
notifying one or more interested applications that an event has been predicted
to have occurred. In various embodiments, the events are associated with media
content samples that are to be rendered on a computing device. In one embodiment,
multiple filters are provided and define a filter graph. The filter graph is configured
to process multiple media content samples and includes one or more render filters
that render the media content samples. An event prediction module, associated with
the filter graph, receives event notification requests from an application and
predicts rendition times associated with the individual events. Event notifications
are sent to the application in accordance with the predictions that are made. The
event prediction module can be located upstream of the render filters and, in some
embodiments, can comprise part of one of the filters in the filter graph such as
a source filter.