Do not flip desktop streaming image in preview.

cusax-fix
Sebastien Vincent 16 years ago
parent e05a78a346
commit 0bca2358b9

@ -715,13 +715,15 @@ public Object getVideoPreviewComponent(MediaDevice device
// A Player is documented to be created on a connected DataSource.
dataSource.connect();
final MediaLocator locator = dataSource.getLocator();
Processor player = Manager.createProcessor(dataSource);
player.addControllerListener(new ControllerListener()
{
public void controllerUpdate(ControllerEvent event)
{
controllerUpdateForPreview(event, videoContainer);
controllerUpdateForPreview(event, videoContainer, locator);
}
});
player.configure();
@ -740,9 +742,10 @@ public void controllerUpdate(ControllerEvent event)
* Listens and shows the video in the video container when needed.
* @param event the event when player has ready visual component.
* @param videoContainer the container.
* @param locator input DataSource locator
*/
private static void controllerUpdateForPreview(ControllerEvent event,
JComponent videoContainer)
JComponent videoContainer, MediaLocator locator)
{
if (event instanceof ConfigureCompleteEvent)
{
@ -759,11 +762,25 @@ private static void controllerUpdateForPreview(ControllerEvent event,
{
for (TrackControl trackControl : trackControls)
{
VideoFlipEffect flipEffect = new VideoFlipEffect();
Codec codecs[] = null;
SwScaler scaler = new SwScaler();
trackControl.setCodecChain(
new Codec[] {flipEffect, scaler});
if(locator.getProtocol().equals(
ImageStreamingAuto.LOCATOR_PROTOCOL))
{
// do not flip desktop
codecs = new Codec[1];
codecs[0] = scaler;
}
else
{
VideoFlipEffect flipEffect = new VideoFlipEffect();
codecs = new Codec[2];
codecs[0] = flipEffect;
codecs[1] = scaler;
}
trackControl.setCodecChain(codecs);
break;
}
}

Loading…
Cancel
Save