記一次失敗經驗:「先入爲主」引發的思惟定勢

背景:本人最近有一項目要鏈接IP攝像頭,市場上兩大主流廠商爲海康與大華,SDK成熟,很容易就能鏈接並取流。鏈接好海康與大華後,由於公司也有本身的IPC,也須要把公司的IPC鏈接上。ide

經歷:拿到公司IPC SDK與demo後,就開始按海康大華的鏈接思路工做了。鏈接類寫好後,經測試,問題就來了:鏈接一直有問題,不是解碼庫拋異常,就是登陸得了但回調不了視頻流。很困惑....與庫開發人員聯繫,他們堅信庫沒問題,而我測試又一直有問題。最後沒辦法,寫了個demo證實問題的存在發給庫開發人員測試。函數

        一天過去了,通過幾回交流,問題找到了,庫徹底沒問題,是個人調用方法錯了。Demo的調用方法是正確的,只是我沒仔細按照裏面的方法調用。測試

緣由:我按海康大華的思路進行編寫調用,而公司的IPC與它們有些不一樣,我沒仔細看就栽在這裏頭。spa

海康大華調用方法(以大華代碼爲例):調試

    登陸成功獲得ID luserid_;視頻

    使用PLAY_GetFreePort(&lplayport_)獲得播放器的播放端口lplayport_;blog

    PLAY_SetDecCallBackEx(傳入lplayport_)設置播放器的回調函數,在此回調中獲得視頻流數據。開發

    CLIENT_RealPlay(傳入luserid_)啓動預覽獲得預覽句柄lrealplay_;get

    CLIENT_SetRealDataCallBackEx(傳入lrealplay_)設置回調函數回調函數

    回調函數中調用PLAY_InputData(傳入lplayport_)把流數據壓入給播放器解碼。

公司IPC調用方法:

    登陸成功獲得ID luserid_;

    X_VideoOpen獲得播放端口lplayport_

    X_SetVisibleDecCallBack(傳入lplayport_,本人錯傳爲lrealplay_)設置播放器的回調函數,在此回調中獲得視頻流數據。

    NET_StartRealPlay(傳入luserid_)啓動預覽並設置回調函數,獲得預覽句柄lrealplay_;

  回調函數中調用X_VideoInputData(傳入lplayport_,本人錯傳爲luserid_)把流數據壓入給播放器解碼。

寫完一看居然是同樣的,從頭至尾都是個人錯....

面壁去

 結論:找不到出錯緣由,就一直認爲是庫有問題,不應;傳錯參數問題很難調試發現,麻煩;庫沒對傳入錯誤的參數提示出錯信息,而是直接異常或不工做,不友好。

 

 


 

做者:phata
出處:http://www.cnblogs.com/wqvbjhc/
本文版權歸做者和CSDN共有,歡迎轉載,但未經做者贊成必須保留此段聲明,且在文章頁面明顯位置給出原文鏈接,不然保留追究法律責任的權利。

相關文章
相關標籤/搜索