
{"id":10105,"date":"2022-06-21T09:10:48","date_gmt":"2022-06-21T09:10:48","guid":{"rendered":"https:\/\/developer.rdkcentral.com\/documentation\/documentation\/documentation\/rdk_video_documentation\/components\/open-sourced_components\/advanced_adaptive_media_player_aamp\/iptv_triage_guidelines\/trick_play_flow_and_analysis\/"},"modified":"2025-03-25T05:18:35","modified_gmt":"2025-03-25T05:18:35","slug":"trick_play_flow_and_analysis","status":"publish","type":"page","link":"https:\/\/developer.rdkcentral.com\/documentation\/documentation\/rdk_video_documentation\/components\/advanced_adaptive_media_player_aamp\/iptv_triage_guidelines\/trick_play_flow_and_analysis\/","title":{"rendered":"Trick Play Flow and Analysis"},"content":{"rendered":"<p><!DOCTYPE html PUBLIC \"-\/\/W3C\/\/DTD HTML 4.0 Transitional\/\/EN\" \"http:\/\/www.w3.org\/TR\/REC-html40\/loose.dtd\"><br \/>\n <html><body><\/p>\n<p><strong>Trick operations supported by AAMP<\/strong><\/p>\n<ol>\n<li>1x ( speed level 4 )<\/li>\n<li>2x ( speed level&nbsp;16 )<\/li>\n<li>3x ( speed level&nbsp;32 )<\/li>\n<li>4x ( speed level&nbsp;64 )<\/li>\n<\/ol>\n<p><strong>Trick play supported over AAMP : Lightning speed<\/strong><\/p>\n<ol>\n<li>Lightning : During the lightning speed AAMP will be in paused state and that will be resumed once player is served with play state.<\/li>\n<\/ol>\n<p><\/p>\n<p><u><strong>Example here is Fast Forward ( HLS playback ) Case here is similar for DASH playback as well<\/strong><\/u><\/p>\n<p><\/p>\n<p><strong>User pressing fast forward key<\/strong><\/p>\n<div class=\"code panel pdl conf-macro output-block\" data-hasbody=\"true\" data-macro-name=\"code\">\n<div class=\"codeContent panelContent pdl\">\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">[AAMP-PLAYER] aamp-cli&gt; ff 4\n1615825050:101 : [AAMP-PLAYER]aamp_SetRate(4)overshoot(0) ProgressReportDelta:(105) \n1615825050:101 : [AAMP-PLAYER]aamp_SetRate Adj position: 6.000000\n1615825050:101 : [AAMP-PLAYER]aamp_SetRate rate(1)-&gt;(4)\n1615825050:101 : [AAMP-PLAYER]aamp_SetRate cur pipeline: playing\n1615825050:101 : [AAMP-PLAYER]TeardownStream:4580 mProgressReportFromProcessDiscontinuity:0 mDiscontinuityTuneOperationId:0 newTune:0\n1615825050:102 : [AAMP-PLAYER]StopWaitForPlaylistRefresh:7118 track \n1615825050:102 : [AAMP-PLAYER]StopWaitForPlaylistRefresh:7118 track \n1615825050:102 : [AAMP-PLAYER]StopWaitForPlaylistRefresh:7118 track \n1615825050:104 : [AAMP-PLAYER]AAMPGstPlayer::Flush:3440 Pipeline is in PLAYING state position 0.000000 ret 1\n\n1615825050:108 : [AAMP-PLAYER]alsasink1 PAUSED -&gt; PAUSED (pending PAUSED)\n1615825050:108 : [AAMP-PLAYER]abin PAUSED -&gt; PAUSED (pending PAUSED)\n1615825050:109 : [AAMP-PLAYER]playsink PAUSED -&gt; PAUSED (pending PAUSED)\n1615825050:109 : [AAMP-PLAYER]playbin3 PAUSED -&gt; PAUSED (pending PAUSED)\n1615825050:109 : [AAMP-PLAYER]AAMPGstPlayerPipeline PAUSED -&gt; PAUSED (pending PAUSED)\n1615825050:109 : [AAMP-PLAYER]msg type: reset-time\n1615825050:145 : [AAMP-PLAYER]westerossink1 PAUSED -&gt; PAUSED (pending PAUSED)\n1615825050:145 : [AAMP-PLAYER]vbin PAUSED -&gt; PAUSED (pending PAUSED)\n1615825050:145 : [AAMP-PLAYER]playsink PAUSED -&gt; PAUSED (pending PAUSED)\n1615825050:145 : [AAMP-PLAYER]playbin2 PAUSED -&gt; PAUSED (pending PAUSED)\n1615825050:146 : [AAMP-PLAYER]msg type: reset-time\n1615825050:146 : [AAMP-PLAYER]PlayerInstanceAAMP() : AVE DRM disabled\n1615825050:146 : [AAMP-PLAYER]hls fragment collector seekpos = 6.000000\n1615825050:146 : [AAMP-PLAYER]StreamAbstractionAAMP_HLS::Init:4073 Main manifest retrieved from cache\n1615825050:147 : [AAMP-PLAYER]StreamAbstractionAAMP_HLS::GetPlaylistURI():3418 Couldn't find subtitle URI for preferred language: \n1615825050:628 : [AAMP-PLAYER]aamp: EXT-X-PLAYLIST-TYPE - VOD\n1615825050:628 : [AAMP-PLAYER]IndexPlaylist iframe StartTimeForPlaylistSync : 0.000000 \n1615825050:629 : [AAMP-PLAYER]GetCompletionTimeForFragment:2232 bad index! mediaSequenceNumber=-1, indexFirstMediaSequenceNumber=0\n1615825050:629 : [AAMP-PLAYER]GetFormatFromFragmentExtension:3496 Could not find extension from line KeyFrames(video=0,format=m3u8-aapl)\n1615825050:629 : [AAMP-PLAYER]StreamAbstractionAAMP_HLS::GetStreamOutputFormatForTrack 7720 Track[0] format is 7 [avc1.]\n1615825050:629 : [AAMP-PLAYER]StreamAbstractionAAMP_HLS::Init : Configure video TS track demuxing demuxOp 2\n1615825050:629 : [AAMP-PLAYER]StreamAbstractionAAMP_HLS::Init:4816 seek target out of range, mark EOS. playTarget:6.000000 End:6.366000. \n1615825050:629 : [AAMP-PLAYER]mpStreamAbstractionAAMP Init Failed.Seek Position(6.000000) out of range(6)\n1615825050:629 : [AAMP-PLAYER]NotifyEOSReached: Enter . processingDiscontinuity 0\n1615825050:629 : [AAMP-PLAYER]SetCallbackAsDispatched:7585 id not in mPendingAsyncEvents, insert and mark as not pending\n1615825050:629 : [AAMP-PLAYER]AAMP_EVENT_EOS\n1615825050:629 : [AAMP-PLAYER]SetCallbackAsPending:7602 id already in mPendingAsyncEvents and completed, erase it\n1615825050:629 : [AAMP-PLAYER]SetCallbackAsDispatched:7585 id not in mPendingAsyncEvents, insert and mark as not pending\n1615825050:629 : [AAMP-PLAYER]SetCallbackAsPending:7602 id already in mPendingAsyncEvents and completed, erase it\n1615825050:629 : [AAMP-PLAYER]SetCallbackAsDispatched:7585 id not in mPendingAsyncEvents, insert and mark as not pending\n1615825050:629 : [AAMP-PLAYER]AAMP_EVENT_SPEED_CHANGED\n1615825050:629 : [AAMP-PLAYER]SetCallbackAsPending:7602 id already in mPendingAsyncEvents and completed, erase it\n[AAMP-PLAYER] aamp-cli&gt; \n\n\n<\/pre>\n<\/div>\n<\/div>\n<p><\/p>\n<p><strong>Logs for Set Speed : rate(1)-&gt;(16) , rate(16)-&gt;(32)<\/strong><\/p>\n<div class=\"code panel pdl conf-macro output-block\" data-hasbody=\"true\" data-macro-name=\"code\">\n<div class=\"codeContent panelContent pdl\">\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">ff16\n1620190306:905 : [AAMP-PLAYER]aamp_SetRate(16)overshoot(0) ProgressReportDelta:(726)\n1620190306:905 : [AAMP-PLAYER]aamp_SetRate Adj position: 6.000000\n1620190306:905 : [AAMP-PLAYER]aamp_SetRate rate(1)-&gt;(16)\n1620190306:905 : [AAMP-PLAYER]aamp_SetRate cur pipeline: playing\n...\n\nff32\n1620190383:948 : [AAMP-PLAYER]## AAMPGstPlayer_OnGstBufferUnderflowCb() : Got Underflow message from westerossink2 ##\n\n1620190384:134 : [AAMP-PLAYER]aamp_SetRate(32)overshoot(0) ProgressReportDelta:(875)\n1620190384:134 : [AAMP-PLAYER]aamp_SetRate Adj position: 558.000000\n1620190384:135 : [AAMP-PLAYER]aamp_SetRate rate(16)-&gt;(32)\n1620190384:135 : [AAMP-PLAYER]aamp_SetRate cur pipeline: playing\n1620190384:135 : [AAMP-PLAYER]TeardownStream:4577 mProgressReportFromProcessDiscontinuity:0 mDiscontinuityTuneOperationId:0 newTune:0\n1620190384:135 : [AAMP-PLAYER]WaitForCachedFragmentAvailable iframe aborted\n1620190384:135 : [AAMP-PLAYER]fragment injector done. track iframe\n1620190384:436 : [AAMP-PLAYER]HttpRequestEnd: 0,0,42,0.5870,0.5802,0.0001,0.5801,0.0001,0.0001,0.0002,0.0000,0,296,https:\/\/&lt;&gt;\/VideoTestStream\/hls\/iframe_573.ts\n1620190384:437 : [AAMP-PLAYER]FetchFragment:2080 iframe Already at the lowest profile, skipping segment\n1620190384:437 : [AAMP-PLAYER]RunFetchLoop:5473: fragment collector done. track iframe<\/pre>\n<\/div>\n<\/div>\n<p><strong>AAMP native call for set speed<\/strong><\/p>\n<div class=\"code panel pdl conf-macro output-block\" data-hasbody=\"true\" data-macro-name=\"code\">\n<div class=\"codeContent panelContent pdl\">\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">[AAMP-PLAYER] aamp-cli&gt; ff 4\n1615825050:101 : [AAMP-PLAYER]aamp_SetRate(4)overshoot(0) ProgressReportDelta:(105)\n1615825050:101 : [AAMP-PLAYER]aamp_SetRate Adj position: 6.000000\n1615825050:101 : [AAMP-PLAYER]aamp_SetRate rate(1)-&gt;(4)\n1615825050:101 : [AAMP-PLAYER]aamp_SetRate cur pipeline: playing<\/pre>\n<\/div>\n<\/div>\n<p><\/p>\n<p><strong>Stopping current playback to process trick play for speed 4. Stopping the audio video injector thread<\/strong><\/p>\n<div class=\"code panel pdl conf-macro output-block\" data-hasbody=\"true\" data-macro-name=\"code\">\n<div class=\"codeContent panelContent pdl\">\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">1615828166:962 : [AAMP-PLAYER]SetRate:433 PLAYER[0] rate=4.\n1615828166:962 : [AAMP-PLAYER]aamp_SetRate(4)overshoot(0) ProgressReportDelta:(56596) \n1615828166:962 : [AAMP-PLAYER]aamp_SetRate Adj position: 0.000000\n1615828166:962 : [AAMP-PLAYER]aamp_SetRate rate(1)-&gt;(4)\n1615828166:962 : [AAMP-PLAYER]aamp_SetRate cur pipeline: playing\n1615828166:962 : [AAMP-PLAYER]TeardownStream:4580 mProgressReportFromProcessDiscontinuity:0 mDiscontinuityTuneOperationId:0 newTune:0\n1615828166:963 : [AAMP-PLAYER]StopWaitForPlaylistRefresh:7118 track \n1615828166:963 : [AAMP-PLAYER]RunFetchLoop:5473: fragment collector done. track audio\n1615828166:963 : [AAMP-PLAYER]RunFetchLoop:5473: fragment collector done. track video\n1615828166:963 : [AAMP-PLAYER]WaitForCachedFragmentAvailable audio aborted\n1615828166:963 : [AAMP-PLAYER]fragment injector done. track audio\n1615828166:963 : [AAMP-PLAYER]WaitForCachedFragmentAvailable video aborted\n1615828166:963 : [AAMP-PLAYER]fragment injector done. track video\n\n<\/pre>\n<\/div>\n<\/div>\n<p><strong>Player level tune initialization and Gstreamer pipeline creation for the playback; iframe manifest request<\/strong><\/p>\n<div class=\"code panel pdl conf-macro output-block\" data-hasbody=\"true\" data-macro-name=\"code\">\n<div class=\"codeContent panelContent pdl\">\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">2021 Apr 05 05:37:12.507919 WPEWebProcess[9456]: [AAMP-PLAYER]AAMPGstPlayer::Flush:3443 Pipeline is in PLAYING state position 0.000000 ret 1\n2021 Apr 05 05:37:12.549339 WPEFramework[6988]: 11:07:12:549 INFO  av_sync_destroy:197: begin\n2021 Apr 05 05:37:12.549743 WPEFramework[6988]: 11:07:12:549 INFO  tsync_send_video_stop:112: video stop\n2021 Apr 05 05:37:12.551656 WPEFramework[6988]: 11:07:12:551 INFO  av_sync_destroy:211: done\n2021 Apr 05 05:37:12.684439 WPEWebProcess[9456]: [AAMP-PLAYER]PrivateStreamAbstractionMPD::UpdateMPD:4323 manifest retrieved from cache\n2021 Apr 05 05:37:12.687421 WPEWebProcess[9456]: [AAMP-PLAYER]PrivateStreamAbstractionMPD::Init:3725 - MPD duration str PT888.053S val 888 seconds\n2021 Apr 05 05:37:12.687502 WPEWebProcess[9456]: [AAMP-PLAYER]GetPeriodEndTime:3438 :  Period startTime required to calculate period duration not present in MPD\n2021 Apr 05 05:37:12.687550 WPEWebProcess[9456]: [AAMP-PLAYER]GetBestAudioTrackByLanguage: aamp-&gt;language en, aamp-&gt;noExplicitUserLanguageSelection false, aamp-&gt;preferredLanguages \"en\"\n2021 Apr 05 05:37:12.687593 WPEWebProcess[9456]: [AAMP-PLAYER]PrivateStreamAbstractionMPD::StreamSelection 5583 &gt; lang[en] AudioType[2]\n2021 Apr 05 05:37:12.687637 WPEWebProcess[9456]: [AAMP-PLAYER]PrivateStreamAbstractionMPD::StreamSelection 5845 &gt; Media Adaptation set[10] RepIdx[-1] TrackCnt[1]\n2021 Apr 05 05:37:12.687659 WPEWebProcess[9456]: [AAMP-PLAYER]ProcessContentProtection:3140 (video) Skipping creation of session for duplicate helper\n2021 Apr 05 05:37:12.687682 WPEWebProcess[9456]: [AAMP-PLAYER]PrivateStreamAbstractionMPD::StreamSelection 5858 &gt; Media enabled\n2021 Apr 05 05:37:12.687720 WPEWebProcess[9456]: [AAMP-PLAYER]PrivateStreamAbstractionMPD::StreamSelection() 5759 Audio Track - lang:en, group:main, name:11, codec:mp4a.40.2, bandwidth:132445\n2021 Apr 05 05:37:12.687752 WPEWebProcess[9456]: [AAMP-PLAYER]PrivateStreamAbstractionMPD::StreamSelection() 5759 Audio Track - lang:en, group:main, name:23, codec:opus, bandwidth:130600\n2021 Apr 05 05:37:12.687777 WPEWebProcess[9456]: [AAMP-PLAYER]PrivateStreamAbstractionMPD::StreamSelection 5845 &gt; Media Adaptation set[11] RepIdx[0] TrackCnt[2]\n2021 Apr 05 05:37:12.687800 WPEWebProcess[9456]: [AAMP-PLAYER]ProcessContentProtection:3140 (audio) Skipping creation of session for duplicate helper\n2021 Apr 05 05:37:12.687822 WPEWebProcess[9456]: [AAMP-PLAYER]PrivateStreamAbstractionMPD::StreamSelection 5858 &gt; Media enabled\n2021 Apr 05 05:37:12.687847 WPEWebProcess[9456]: [AAMP-PLAYER]PrivateStreamAbstractionMPD::StreamSelection() 5765 Text Track - lang:nl, isCC:0, group:, name:0, codec:\n2021 Apr 05 05:37:12.687874 WPEWebProcess[9456]: [AAMP-PLAYER]PrivateStreamAbstractionMPD::StreamSelection() 5765 Text Track - lang:en, isCC:0, group:main, name:1, codec:\n2021 Apr 05 05:37:12.687900 WPEWebProcess[9456]: [AAMP-PLAYER]PrivateStreamAbstractionMPD::StreamSelection() 5765 Text Track - lang:fr, isCC:0, group:, name:2, codec:\n2021 Apr 05 05:37:12.687996 WPEWebProcess[9456]: [AAMP-PLAYER]PrivateStreamAbstractionMPD::StreamSelection() 5765 Text Track - lang:de, isCC:0, group:, name:3, codec:\n2021 Apr 05 05:37:12.688020 WPEWebProcess[9456]: [AAMP-PLAYER]PrivateStreamAbstractionMPD::StreamSelection() 5765 Text Track - lang:it, isCC:0, group:, name:4, codec:\n2021 Apr 05 05:37:12.688051 WPEWebProcess[9456]: [AAMP-PLAYER]PrivateStreamAbstractionMPD::StreamSelection() 5765 Text Track - lang:pl, isCC:0, group:, name:5, codec:\n2021 Apr 05 05:37:12.688074 WPEWebProcess[9456]: [AAMP-PLAYER]PrivateStreamAbstractionMPD::StreamSelection() 5765 Text Track - lang:pt, isCC:0, group:, name:6, codec:\n2021 Apr 05 05:37:12.688099 WPEWebProcess[9456]: [AAMP-PLAYER]PrivateStreamAbstractionMPD::StreamSelection() 5765 Text Track - lang:ru, isCC:0, group:, name:7, codec:\n2021 Apr 05 05:37:12.688123 WPEWebProcess[9456]: [AAMP-PLAYER]PrivateStreamAbstractionMPD::StreamSelection() 5765 Text Track - lang:es, isCC:0, group:, name:8, codec:\n2021 Apr 05 05:37:12.688151 WPEWebProcess[9456]: [AAMP-PLAYER]PrivateStreamAbstractionMPD::StreamSelection() 5765 Text Track - lang:vi, isCC:0, group:, name:9, codec:\n2021 Apr 05 05:37:12.688181 WPEWebProcess[9456]: [AAMP-PLAYER]PrivateStreamAbstractionMPD::StreamSelection 5854 &gt; No valid adaptation set found for Media[text]\n2021 Apr 05 05:37:12.688202 WPEWebProcess[9456]: [AAMP-PLAYER]PrivateStreamAbstractionMPD::StreamSelection 5858 &gt; Media[text] disabled\n2021 Apr 05 05:37:12.688280 WPEWebProcess[9456]: [ABRManager] getInitialProfileIndex:195 Get initial profile index = 8, bitrate = 9260354 and defaultBitrate = 13000000\n                                                 \n2021 Apr 05 05:37:12.688316 WPEWebProcess[9456]: [AAMP-PLAYER]GetPeriodEndTime:3438 :  Period startTime required to calculate period duration not present in MPD\n2021 Apr 05 05:37:12.688346 WPEWebProcess[9456]: [AAMP-PLAYER]GetPeriodEndTime:3438 :  Period startTime required to calculate period duration not present in MPD\n2021 Apr 05 05:37:13.620380 WPEWebProcess[9456]: [AAMP-PLAYER]PrivateStreamAbstractionMPD::Init:4199 - fetch initialization fragments\n2021 Apr 05 05:37:14.311736 WPEWebProcess[9456]: [AAMP-PLAYER]TuneHelper:4984 Updated seek_pos_seconds 48.000000 culledSeconds :0.000000\n2021 Apr 05 05:37:14.411902 WPEWebProcess[9456]: [AAMP-PLAYER]AAMPGstPlayer::Flush:3443 Pipeline is in PAUSED state position 0.000000 ret 2\n2021 Apr 05 05:37:14.436695 WPEWebProcess[9456]: [AAMP-PLAYER]AAMPGstPlayer::Configure 2484 &gt; format 2 audioFormat 2\n <\/pre>\n<\/div>\n<\/div>\n<p><strong>iFrame fragment request, send segment; pipeline state is changing from Paused to Playing after sending the segment<\/strong><\/p>\n<div class=\"code panel pdl conf-macro output-block\" data-hasbody=\"true\" data-macro-name=\"code\">\n<div class=\"codeContent panelContent pdl\">\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">2021 Apr 05 05:37:13.620380 WPEWebProcess[9456]: [AAMP-PLAYER]PrivateStreamAbstractionMPD::Init:4199 - fetch initialization fragments\n2021 Apr 05 05:37:14.311736 WPEWebProcess[9456]: [AAMP-PLAYER]TuneHelper:4984 Updated seek_pos_seconds 48.000000 culledSeconds :0.000000\n2021 Apr 05 05:37:14.411902 WPEWebProcess[9456]: [AAMP-PLAYER]AAMPGstPlayer::Flush:3443 Pipeline is in PAUSED state position 0.000000 ret 2\n2021 Apr 05 05:37:14.436695 WPEWebProcess[9456]: [AAMP-PLAYER]AAMPGstPlayer::Configure 2484 &gt; format 2 audioFormat 2\n2021 Apr 05 05:37:14.437313 WPEWebProcess[9456]: [AAMP-PLAYER]fragment injector started. track audio\n2021 Apr 05 05:37:14.437685 WPEWebProcess[9456]: [AAMP-PLAYER]msg type: reset-time\n2021 Apr 05 05:37:14.440511 WPEFramework[6988]: gst_qtdemux_handle_sink_event:2320 - aamp_override - enabled = 0, player = 1, rate  1.000000\n2021 Apr 05 05:37:14.440936 WPEFramework[6988]: http:\/\/&lt;&gt;\/players\/version10\/js\/src\/Mediaplayer.js:898:32: CONSOLE LOG AAMP: progress update: {\"event\":{\"durationMiliseconds\":888053,\"positionMiliseconds\":48000,\"playbackSpeed\":1,\"startMiliseconds\":0,\"endMiliseconds\":888053,\"currentPTS\":-1,\"videoBufferedMiliseconds\":0}}\n2021 Apr 05 05:37:14.441402 WPEFramework[6988]: http:\/\/&lt;&gt;\/players\/version10\/js\/src\/Mediaplayer.js:904:32: CONSOLE LOG Mediaplayer.playbackProgressUpdate (AAMP): currentTime (ms): 48000\n2021 Apr 05 05:37:14.437854 WPEWebProcess[9456]: [AAMP-PLAYER]Sending segment event for mediaType[1]. start 48006000518 stop 18446744073709551615 rate 1.000000 applied_rate 1.000000\n2021 Apr 05 05:37:14.442513 WPEFramework[6988]: AAMPMediaPlayerJS_getSupportedKeySystems(): Invoked getSupportedKeySystems\n2021 Apr 05 05:37:14.443078 WPEFramework[6988]: gst_qtdemux_handle_sink_event:2320 - aamp_override - enabled = 0, player = 1, rate  1.000000\n2021 Apr 05 05:37:14.440626 WPEWebProcess[9456]: [AAMP-PLAYER]AAMPGstPlayerPipeline PAUSED -&gt; PAUSED (pending PAUSED)\n2021 Apr 05 05:37:14.440668 WPEWebProcess[9456]: [AAMP-PLAYER]msg type: reset-time\n2021 Apr 05 05:37:14.440705 WPEWebProcess[9456]: [AAMP-PLAYER]msg type: reset-time\n2021 Apr 05 05:37:14.440753 WPEWebProcess[9456]: [AAMP-PLAYER]msg type: reset-time\n2021 Apr 05 05:37:14.440821 WPEWebProcess[9456]: [AAMP-PLAYER]fragment injector started. track video\n2021 Apr 05 05:37:14.441054 WPEWebProcess[9456]: [AAMP-PLAYER]Sending segment event for mediaType[0]. start 48000000000 stop 18446744073709551615 rate 1.000000 applied_rate 1.000000\n...\n2021 Apr 05 05:37:17.118008 WPEWebProcess[9456]: [AAMP-PLAYER]AAMPGstPlayerPipeline PAUSED -&gt; PAUSED (pending VOID_PENDING) \n...\n2021 Apr 05 05:37:17.268459 WPEWebProcess[9456]: [AAMP-PLAYER]AAMPGstPlayerPipeline PAUSED -&gt; PLAYING (pending VOID_PENDING)  <\/pre>\n<\/div>\n<\/div>\n<p><\/p>\n<p><\/p>\n<p><\/body><\/html><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Trick operations supported by AAMP 1x ( speed level 4 ) 2x ( speed level&nbsp;16 [&hellip;]<\/p>\n","protected":false},"author":28,"featured_media":0,"parent":10093,"menu_order":4,"comment_status":"open","ping_status":"closed","template":"","meta":{"_bbp_topic_count":0,"_bbp_reply_count":0,"_bbp_total_topic_count":0,"_bbp_total_reply_count":0,"_bbp_voice_count":0,"_bbp_anonymous_reply_count":0,"_bbp_topic_count_hidden":0,"_bbp_reply_count_hidden":0,"_bbp_forum_subforum_count":0,"footnotes":""},"class_list":["post-10105","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.9 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Trick Play Flow and Analysis - RDK Documentation Portal | Documentation<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/developer.rdkcentral.com\/documentation\/documentation\/rdk_video_documentation\/components\/advanced_adaptive_media_player_aamp\/iptv_triage_guidelines\/trick_play_flow_and_analysis\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Trick Play Flow and Analysis - RDK Documentation Portal | Documentation\" \/>\n<meta property=\"og:description\" content=\"Trick operations supported by AAMP 1x ( speed level 4 ) 2x ( speed level&nbsp;16 [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/developer.rdkcentral.com\/documentation\/documentation\/rdk_video_documentation\/components\/advanced_adaptive_media_player_aamp\/iptv_triage_guidelines\/trick_play_flow_and_analysis\/\" \/>\n<meta property=\"og:site_name\" content=\"RDK Documentation Portal | Documentation\" \/>\n<meta property=\"article:modified_time\" content=\"2025-03-25T05:18:35+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/developer.rdkcentral.com\/documentation\/documentation\/rdk_video_documentation\/components\/advanced_adaptive_media_player_aamp\/iptv_triage_guidelines\/trick_play_flow_and_analysis\/\",\"url\":\"https:\/\/developer.rdkcentral.com\/documentation\/documentation\/rdk_video_documentation\/components\/advanced_adaptive_media_player_aamp\/iptv_triage_guidelines\/trick_play_flow_and_analysis\/\",\"name\":\"Trick Play Flow and Analysis - RDK Documentation Portal | Documentation\",\"isPartOf\":{\"@id\":\"https:\/\/developer.rdkcentral.com\/documentation\/#website\"},\"datePublished\":\"2022-06-21T09:10:48+00:00\",\"dateModified\":\"2025-03-25T05:18:35+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/developer.rdkcentral.com\/documentation\/documentation\/rdk_video_documentation\/components\/advanced_adaptive_media_player_aamp\/iptv_triage_guidelines\/trick_play_flow_and_analysis\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/developer.rdkcentral.com\/documentation\/documentation\/rdk_video_documentation\/components\/advanced_adaptive_media_player_aamp\/iptv_triage_guidelines\/trick_play_flow_and_analysis\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/developer.rdkcentral.com\/documentation\/documentation\/rdk_video_documentation\/components\/advanced_adaptive_media_player_aamp\/iptv_triage_guidelines\/trick_play_flow_and_analysis\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/developer.rdkcentral.com\/documentation\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Documentation\",\"item\":\"https:\/\/developer.rdkcentral.com\/documentation\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"RDK Video\",\"item\":\"https:\/\/developer.rdkcentral.com\/documentation\/documentation\/rdk_video_documentation\/\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"Components\",\"item\":\"https:\/\/developer.rdkcentral.com\/documentation\/documentation\/rdk_video_documentation\/components\/\"},{\"@type\":\"ListItem\",\"position\":5,\"name\":\"Advanced Adaptive Media Player (AAMP)\",\"item\":\"https:\/\/developer.rdkcentral.com\/documentation\/documentation\/rdk_video_documentation\/components\/advanced_adaptive_media_player_aamp\/\"},{\"@type\":\"ListItem\",\"position\":6,\"name\":\"IPTV Triage Guidelines\",\"item\":\"https:\/\/developer.rdkcentral.com\/documentation\/documentation\/rdk_video_documentation\/components\/advanced_adaptive_media_player_aamp\/iptv_triage_guidelines\/\"},{\"@type\":\"ListItem\",\"position\":7,\"name\":\"Trick Play Flow and Analysis\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/developer.rdkcentral.com\/documentation\/#website\",\"url\":\"https:\/\/developer.rdkcentral.com\/documentation\/\",\"name\":\"RDK Documentation Portal | Documentation\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/developer.rdkcentral.com\/documentation\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Trick Play Flow and Analysis - RDK Documentation Portal | Documentation","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/developer.rdkcentral.com\/documentation\/documentation\/rdk_video_documentation\/components\/advanced_adaptive_media_player_aamp\/iptv_triage_guidelines\/trick_play_flow_and_analysis\/","og_locale":"en_US","og_type":"article","og_title":"Trick Play Flow and Analysis - RDK Documentation Portal | Documentation","og_description":"Trick operations supported by AAMP 1x ( speed level 4 ) 2x ( speed level&nbsp;16 [&hellip;]","og_url":"https:\/\/developer.rdkcentral.com\/documentation\/documentation\/rdk_video_documentation\/components\/advanced_adaptive_media_player_aamp\/iptv_triage_guidelines\/trick_play_flow_and_analysis\/","og_site_name":"RDK Documentation Portal | Documentation","article_modified_time":"2025-03-25T05:18:35+00:00","twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/developer.rdkcentral.com\/documentation\/documentation\/rdk_video_documentation\/components\/advanced_adaptive_media_player_aamp\/iptv_triage_guidelines\/trick_play_flow_and_analysis\/","url":"https:\/\/developer.rdkcentral.com\/documentation\/documentation\/rdk_video_documentation\/components\/advanced_adaptive_media_player_aamp\/iptv_triage_guidelines\/trick_play_flow_and_analysis\/","name":"Trick Play Flow and Analysis - RDK Documentation Portal | Documentation","isPartOf":{"@id":"https:\/\/developer.rdkcentral.com\/documentation\/#website"},"datePublished":"2022-06-21T09:10:48+00:00","dateModified":"2025-03-25T05:18:35+00:00","breadcrumb":{"@id":"https:\/\/developer.rdkcentral.com\/documentation\/documentation\/rdk_video_documentation\/components\/advanced_adaptive_media_player_aamp\/iptv_triage_guidelines\/trick_play_flow_and_analysis\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/developer.rdkcentral.com\/documentation\/documentation\/rdk_video_documentation\/components\/advanced_adaptive_media_player_aamp\/iptv_triage_guidelines\/trick_play_flow_and_analysis\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/developer.rdkcentral.com\/documentation\/documentation\/rdk_video_documentation\/components\/advanced_adaptive_media_player_aamp\/iptv_triage_guidelines\/trick_play_flow_and_analysis\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/developer.rdkcentral.com\/documentation\/"},{"@type":"ListItem","position":2,"name":"Documentation","item":"https:\/\/developer.rdkcentral.com\/documentation\/"},{"@type":"ListItem","position":3,"name":"RDK Video","item":"https:\/\/developer.rdkcentral.com\/documentation\/documentation\/rdk_video_documentation\/"},{"@type":"ListItem","position":4,"name":"Components","item":"https:\/\/developer.rdkcentral.com\/documentation\/documentation\/rdk_video_documentation\/components\/"},{"@type":"ListItem","position":5,"name":"Advanced Adaptive Media Player (AAMP)","item":"https:\/\/developer.rdkcentral.com\/documentation\/documentation\/rdk_video_documentation\/components\/advanced_adaptive_media_player_aamp\/"},{"@type":"ListItem","position":6,"name":"IPTV Triage Guidelines","item":"https:\/\/developer.rdkcentral.com\/documentation\/documentation\/rdk_video_documentation\/components\/advanced_adaptive_media_player_aamp\/iptv_triage_guidelines\/"},{"@type":"ListItem","position":7,"name":"Trick Play Flow and Analysis"}]},{"@type":"WebSite","@id":"https:\/\/developer.rdkcentral.com\/documentation\/#website","url":"https:\/\/developer.rdkcentral.com\/documentation\/","name":"RDK Documentation Portal | Documentation","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/developer.rdkcentral.com\/documentation\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"}]}},"_links":{"self":[{"href":"https:\/\/developer.rdkcentral.com\/documentation\/wp-json\/wp\/v2\/pages\/10105","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/developer.rdkcentral.com\/documentation\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/developer.rdkcentral.com\/documentation\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/developer.rdkcentral.com\/documentation\/wp-json\/wp\/v2\/users\/28"}],"replies":[{"embeddable":true,"href":"https:\/\/developer.rdkcentral.com\/documentation\/wp-json\/wp\/v2\/comments?post=10105"}],"version-history":[{"count":1,"href":"https:\/\/developer.rdkcentral.com\/documentation\/wp-json\/wp\/v2\/pages\/10105\/revisions"}],"predecessor-version":[{"id":10106,"href":"https:\/\/developer.rdkcentral.com\/documentation\/wp-json\/wp\/v2\/pages\/10105\/revisions\/10106"}],"up":[{"embeddable":true,"href":"https:\/\/developer.rdkcentral.com\/documentation\/wp-json\/wp\/v2\/pages\/10093"}],"wp:attachment":[{"href":"https:\/\/developer.rdkcentral.com\/documentation\/wp-json\/wp\/v2\/media?parent=10105"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}