diff options
author | Martijn Kaijser <martijn@xbmc.org> | 2018-12-16 09:31:04 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-12-16 09:31:04 +0100 |
commit | 0bbeefdadbc243a39d3f73124278d37e060836b7 (patch) | |
tree | aee805a3bb9b5f7c54095ebe3ccf068b3ed28243 | |
parent | 70f833ff49c5944774d26b553aa85a7f7189d4b4 (diff) | |
parent | 86cc708ec2caa924be9176201188cc05d6b0407c (diff) |
Merge pull request #15054 from popcornmix/omx3d
OMXPlayerVideo: Send PLAYER_AVCHANGE message when stereo mode changes
-rw-r--r-- | xbmc/cores/omxplayer/OMXPlayerVideo.cpp | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/xbmc/cores/omxplayer/OMXPlayerVideo.cpp b/xbmc/cores/omxplayer/OMXPlayerVideo.cpp index c3bb5377c1..93f41e7491 100644 --- a/xbmc/cores/omxplayer/OMXPlayerVideo.cpp +++ b/xbmc/cores/omxplayer/OMXPlayerVideo.cpp @@ -310,6 +310,13 @@ void OMXPlayerVideo::Output(double pts, bool bDropPacket) omvb->m_state = MMAL::MMALStateBypass; picture.videoBuffer = omvb; + if (m_processInfo.GetVideoStereoMode() != GetStereoMode()) + { + m_processInfo.SetVideoStereoMode(picture.stereoMode); + // signal about changes in video parameters + m_messageParent.Put(new CDVDMsg(CDVDMsg::PLAYER_AVCHANGE)); + } + m_renderManager.AddVideoPicture(picture, m_bAbortOutput, EINTERLACEMETHOD::VS_INTERLACEMETHOD_NONE, (m_syncState == ESyncState::SYNC_STARTING)); } @@ -662,20 +669,20 @@ void OMXPlayerVideo::SetVideoRect(const CRect &InSrcRect, const CRect &InDestRec if (stereoMode == "left_right") { - video_stereo_mode = RENDER_STEREO_MODE_SPLIT_HORIZONTAL; + video_stereo_mode = RENDER_STEREO_MODE_SPLIT_VERTICAL; } else if (stereoMode == "right_left") { - video_stereo_mode = RENDER_STEREO_MODE_SPLIT_HORIZONTAL; + video_stereo_mode = RENDER_STEREO_MODE_SPLIT_VERTICAL; stereo_invert = true; } else if (stereoMode == "top_bottom") { - video_stereo_mode = RENDER_STEREO_MODE_SPLIT_VERTICAL; + video_stereo_mode = RENDER_STEREO_MODE_SPLIT_HORIZONTAL; } else if (stereoMode == "bottom_top") { - video_stereo_mode = RENDER_STEREO_MODE_SPLIT_VERTICAL; + video_stereo_mode = RENDER_STEREO_MODE_SPLIT_HORIZONTAL; stereo_invert = true; } |