> For the complete documentation index, see [llms.txt](https://docs.mediamelon.com/mediamelon/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.mediamelon.com/mediamelon/smartsight-player-sdk-integration/mediamelon-sdk-events.md).

# MediaMelon SDK Events

### Player Events:

<table><thead><tr><th width="74.32421875">No.</th><th width="260">Event Name</th><th>Event Description</th></tr></thead><tbody><tr><td>1</td><td>ONLOAD</td><td>Indicates that the player has attempted to load and start playback of the video.</td></tr><tr><td>2</td><td>MANIFEST_LOADED</td><td>Indicates that the manifest has been successfully loaded in the player.</td></tr><tr><td>3</td><td>START</td><td>Indicates that the video has actually started playing.</td></tr><tr><td>5</td><td>RENDITION_CHANGE</td><td>Indicates that the current video rendition has changed. Includes details such as bitrate, resolution, FPS, audio codec, and video codec.</td></tr><tr><td>6</td><td>PAUSE</td><td>Indicates that video playback has been paused.</td></tr><tr><td>7</td><td>RESUME</td><td>Indicates that video playback has resumed after being paused.</td></tr><tr><td>8</td><td>SEEK_START</td><td>Indicates that a seek operation has been initiated (jumping to a different timestamp).</td></tr><tr><td>9</td><td>SEEK_COMPLETE</td><td>Indicates that the seek operation completed successfully, and playback has resumed at the target timestamp.</td></tr><tr><td>10</td><td>BUFFERING_START</td><td>Indicates that the player runs out of enough data to continue smooth playback and starts buffering.</td></tr><tr><td>11</td><td>BUFFERING_COMPLETE</td><td>Indicates that the player has re-buffered enough content to resume smooth playback after a buffering interruption.</td></tr><tr><td>12</td><td>AUDIO_CHANGE</td><td>Indicates that the audio track of playback has changed.</td></tr><tr><td>13</td><td>SUBTITLE_CHANGE</td><td>Indicates that the subtitle track of playback has changed.</td></tr><tr><td>14</td><td>CDN_CHANGE</td><td>Indicates that the CDN used for video delivery has changed.</td></tr><tr><td>15</td><td>RC_&#x3C;REQUEST_TYPE></td><td>Indicates that a request was cancelled. Possible types: RC_PIR, RC_MANIFEST, RC_AUDIO, RC_VIDEO, RC_SUBTITLE, RC_DRM.</td></tr><tr><td>16</td><td>RF_&#x3C;REQUEST_TYPE></td><td>Indicates that a request failed. Possible types: RF_PIR, RF_MANIFEST, RF_AUDIO, RF_VIDEO, RF_SUBTITLE, RF_DRM.</td></tr><tr><td>17</td><td>ERROR</td><td>Indicates that an error occurred during the current playback session. This can include both fatal errors (playback cannot continue) and warning-level errors (playback continues but with degraded performance or missing features).</td></tr><tr><td>18</td><td>ENDED</td><td>Indicates that the playback session has ended (naturally, by stop, or due to user action).</td></tr><tr><td>19</td><td>COMPLETE</td><td>Indicates that the video playback reached the end of the content (played fully).</td></tr></tbody></table>

### Ad Events:

<table><thead><tr><th width="72.9375">No.</th><th width="342.31640625"> Event Name</th><th>Event Description</th></tr></thead><tbody><tr><td>1</td><td>AD_REQUEST</td><td>Indicates that an ad pod request has been made.</td></tr><tr><td>2</td><td>AD_RESPONSE</td><td>Indicates that an ad response was received for the ad request.</td></tr><tr><td>3</td><td>AD_IMPRESSION</td><td>Indicates that the ad has started rendering. In the case of SSAI, it is the same as the ad playback start.</td></tr><tr><td>4</td><td>AD_PLAY</td><td>Indicates that ad playback has started.</td></tr><tr><td>5</td><td>AD_PLAYING</td><td>Indicates that the ad is currently playing.</td></tr><tr><td>6</td><td>AD_PLAYED_FIRST_QUARTILE</td><td>Indicates that 25% of the ad has been played.</td></tr><tr><td>7</td><td>AD_PLAYED_SECOND_QUARTILE</td><td>Indicates that 50% of the ad has been played.</td></tr><tr><td>8</td><td>AD_PLAYED_THIRD_QUARTILE</td><td>Indicates that 75% of the ad has been played.</td></tr><tr><td>9</td><td>AD_PAUSED</td><td>Indicates that ad playback has been paused.</td></tr><tr><td>10</td><td>AD_RESUMED</td><td>Indicates that ad playback has resumed after being paused.</td></tr><tr><td>11</td><td>AD_BUFFERING_START</td><td>Indicates that buffering has started during ad playback.</td></tr><tr><td>12</td><td>AD_BUFFERING_COMPLETE</td><td>Indicates that ad playback has resumed after buffering.</td></tr><tr><td>13</td><td>AD_ERROR</td><td>Indicates that an error occurred during ad playback. This can include both fatal errors and warning-level errors.</td></tr><tr><td>14</td><td>AD_CLICK</td><td>Indicates that the user interacted with/clicked on the ad.</td></tr><tr><td>15</td><td>AD_ENDED</td><td>Indicates that ad playback has ended (either completed or skipped).</td></tr><tr><td>16</td><td>AD_COMPLETE</td><td>Indicates that ad playback was completed fully (played until the end).</td></tr><tr><td>17</td><td>AD_SKIPPED</td><td>Indicates that the user skipped the ad.</td></tr><tr><td>18</td><td>AD_BLOCK</td><td>Indicates that an advertisement was blocked or prevented from being displayed, either by an ad blocker or by another mechanism.</td></tr></tbody></table>

### Cu**sto**m Events:

For any events that are not included in the predefined event list, the Custom Events feature can be used to report additional events. For example, events such as DRM\_CHANGE, DISPLAY\_MODE, PLAYBACK\_MODE, or other platform-specific events can be reported as custom events. All platform SDKs support custom events, subject to the respective reporting guidelines. Custom events function similarly to predefined events and can be used for metric calculations, analysis, and filtering in the Analytics Dashboard.
