How to track program changes on a live stream?

In order to track program changes that occur on the same source (typically on a live stream), the programChange API can be used to track this correctly.

When the programChange method is called, the currently active session is closed, and a new session with the passed source metadata is created. The new session is counted towards successful plays and billed accordingly.