                 case HLSSeekStates.SEEKING:
                     return  _seek_position_requested;
                 case HLSSeekStates.SEEKED:
+                case HLSSeekStates.IDLE:
+                default:
                     /** Relative playback position = (Absolute Position(seek position + play time) - playlist sliding, non null for Live Playlist) **/
                     return _seek_position_real + _hls.stream.time - _time_sliding;
-                case HLSSeekStates.IDLE:
-                default:
-                    return 0;
             }
         };
 

            flushAll();
        }

        /* 
         * if requested position is available in StreamBuffer, trim buffer 
         * and inject from that point
         * if seek position out of buffer, ask fragment loader to retrieve data 
         */
        public function seek(position : Number) : void {
            // compute _seek_position_requested based on position and playlist type


            /* clip header tags : the tricky thing here is that we need to keep the last AAC HEADER / AVC HEADER before clip position
             * if we dont keep these tags, we will have audio/video playback issues when seeking into the buffer
             *
             * so we loop through all header tags and we retrieve the position of last AAC/AVC header tags
             * then if any subsequent header tag is found after seek position, we create a new Vector in which we first append the previously
             * found AAC/AVC header
             *
             */
            var _aacHeader : FLVData;
            var _avcHeader : FLVData;
