protected override void DoStartRendererWithHint(RenderingStartHint startHint)
        {
            dz_error_t err;

            _needNaturalNext = false;

            Logger.LogTrace("DeezerRenderer::DoStartRendererWithHint startHint={0}", startHint);

            if (renderMediaName == null || renderMediaName.Length <= 0)
            {
                return;
            }

            CheckIfInitialized();

            if (_dzConnect == IntPtr.Zero || _dzPlayer == IntPtr.Zero)
            {
                DeezerApi.HandleDzErrorCode("DeezerRenderer::DoStartRendererWithHint", dz_error_t.DZ_ERROR_CLASS_INSTANTIATION);
            }

            // --------------------------------------------------------------------
            _evtQueueListLoaded.Reset();
            err = DeezerApi.dz_player_load(_dzPlayer, null, IntPtr.Zero, renderMediaName);
            DeezerApi.HandleDzErrorCode("dz_player_load", err);

            if (_evtQueueListLoaded.WaitOne(DZ_OPERATION_TIMEOUT) == false)
            {
                DeezerApi.HandleDzErrorCode("dz_player_load", dz_error_t.DZ_ERROR_PLAYER_LOAD_TIMEOUT);
            }

            Logger.LogTrace("dz_player_load => Success");

            // --------------------------------------------------------------------

            // --------------------------------------------------------------------
            // Start playback using dz_player_play
            // This will trigger DZ_PLAYER_EVENT_RENDER_TRACK_START
            // Upon completion, _evtPlayerPlaybackStarted will be set.
            _evtPlayerPlaybackStarted.Reset();

            err = DeezerApi.dz_player_play(_dzPlayer, null, IntPtr.Zero,
                                           dz_player_play_command_t.DZ_PLAYER_PLAY_CMD_START_TRACKLIST,
                                           DeezerInterop.PlayerApi.Constants.DZ_INDEX_IN_QUEUELIST_CURRENT);

            DeezerApi.HandleDzErrorCode("dz_player_play", err);

            if (_evtPlayerPlaybackStarted.WaitOne(DZ_OPERATION_TIMEOUT) == false)
            {
                DeezerApi.HandleDzErrorCode("dz_player_play", dz_error_t.DZ_ERROR_PLAYER_PLAY_TIMEOUT);
            }

            Logger.LogTrace("dz_player_play => Success");
            // --------------------------------------------------------------------
        }