protected override void onSuccess(DownloadVideoRequest request, DownloadVideoResponse response)
        {
            DownloadVideoContext mContext = base.mContext as DownloadVideoContext;

            if ((mContext == null) || !mContext.isRunning())
            {
                Log.e("NetSceneDwVideoEx", "scene is finished, ignored response. ");
            }
            else
            {
                RetConst ret = (RetConst)response.BaseResponse.Ret;
                if (ret != RetConst.MM_OK)
                {
                    Log.e("NetSceneDwVideoEx", "download video failed, ret = " + ret);
                    mContext.mStatus = 4;
                    mContext.onFinishedEx();
                }
                else
                {
                    Log.d("NetSceneDwVideoEx", string.Concat(new object[] { "download response success(rtt=", base.mMiniRTT, ") , startpos = ", response.StartPos, ", total = ", response.TotalLen, ", datalen = ", response.Data.Buffer.Length, ", tranLen=", mContext.mVideoInfo.nTransDataLen }));
                    if ((response.StartPos < 0) || ((response.StartPos + response.Data.Buffer.Length) > response.TotalLen))
                    {
                        Log.e("NetSceneDwVideoEx", "download failed ");
                        mContext.mStatus = 4;
                        mContext.onFinishedEx();
                    }
                    else
                    {
                        mContext.mVideoInfo.nTotalDataLen = (int)response.TotalLen;
                        mContext.appendDownData(response.Data.Buffer.ToByteArray(), response.StartPos, (uint)response.Data.Buffer.Length);
                        mContext.mVideoInfo.nTransDataLen += response.Data.Buffer.Length;
                        base.mOffsetPos += response.Data.Buffer.Length;
                        if (base.mOffsetPos >= base.mEndPos)
                        {
                            Log.d("NetSceneDwVideoEx", string.Concat(new object[] { "download video block complete... [", base.mStartPos, "---", base.mEndPos, "]" }));
                            mContext.onBlockCompleted(base.mSceneID);
                            if (mContext.isDownloadCompleted())
                            {
                                Log.d("NetSceneDwVideoEx", "all videos downlaod completed.");
                                mContext.mStatus = 5;
                                mContext.onFinishedEx();
                            }
                        }
                        else
                        {
                            mContext.updateProgressInfo(0);
                            this.doDownScene();
                        }
                    }
                }
            }
        }
        protected override void onFailed(DownloadVideoRequest request, DownloadVideoResponse response)
        {
            DownloadVideoContext mContext = base.mContext as DownloadVideoContext;

            if ((mContext == null) || !mContext.isRunning())
            {
                Log.e("NetSceneDwVideoEx", "scene is finished, ignored onFailed. ");
            }
            else
            {
                mContext.mStatus = 4;
                mContext.onFinishedEx();
            }
        }