2014-02-24 37 views
3

我想通過Android手機中的RTSP協議流視頻。我創建了一個應用程序,通過RTSP協議接收數據包,使用FFMPEG進行解碼,並使用SDL 2.0將其呈現給窗口。在這種應用中,創造了SDL的窗口和SDL質地看起來是這樣的:在三星Galaxy S3Android手機中SDL窗口/紋理的分辨率問題

screen = SDL_CreateWindow ("Test ffmpeg",SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, 1280, 720, SDL_WINDOW_SHOWN|SDL_WINDOW_FULLSCREEN); 

bmp = SDL_CreateTexture (renderer, SDL_PIXELFORMAT_IYUV, SDL_TEXTUREACCESS_STREAMING, 1280, 720); 

此應用程序運行順利(無任何閃爍或扭曲)(但微紅疊加),但在HTC感覺XE,三星galaxy grand,索尼xperia S,有很多閃爍和扭曲。當我試圖降低上述兩個功能(即創建紋理和創建窗口(HTC感覺xe中的640 * 360和三星galax grand中的800 x 480))的分辨率時,應用程序運行平穩。現在我有兩個問題

  1. 爲什麼三星s3以外的移動電話(在上面提到的所有移動電話中)無法傳輸更高分辨率(1280 * 720)的視頻?
  2. 在所有三星galaxy s3手機上,我可以看到一個紅色覆蓋。任何人都知道這個微紅覆蓋層的原因是什麼?
+0

Re 2,請參閱https://bugzilla.libsdl.org/show_bug.cgi?id=2291這是一個已知的「錯誤」,這裏列出了一個解決方法。 另外,Android的FWIW,SDL2會忽略您請求的任何窗口大小,並使用顯示器的原始分辨率。 – gabomdq

回答

2

回覆2,我已經在開發人員選項菜單中禁用硬件覆蓋選項解決在三星Galaxy S3手機微紅的顯示問題(設置 - >開發者選項 - >選中「禁用硬件覆蓋」複選框)