0

sync + video pause & resume



I want to make a project with 2 units: a 1010 and a 210 that have to play a video in sync. the initial state is a black.bmp if I press a "+" on the usb keyboard connected to the 1010, the video starts. when playing the video, if i don't press anything the video loop, if i press "0" both the video have to pause in sync and if i press "1" both the video have to resume in sync. while if i press "+" I come back to the initial state (black.bmp). everything works fine till i press 0 (pause) then the red error led blink on both my units and after a while the units reboot. videos are h264 L4.1 in a ts container. firmwares are the latest one. here are the projects: master: <?xml version="1.0" encoding="utf-8"?> <BrightAuthor version="4" BrightAuthorVersion="2.2.0.39" type="project"> <meta> <name>mapping samsung</name> <model>HD1010</model> <videoMode>1920x1080x50p</videoMode> <videoConnector>HDMI</videoConnector> <backgroundScreenColor a="255" r="0" g="0" b="0" /> <rssDownloadSpec type="periodic" value="86400" /> <monitorOverscan>noOverscan</monitorOverscan> <gpio0>input</gpio0> <gpio1>input</gpio1> <gpio2>input</gpio2> <gpio3>input</gpio3> <gpio4>input</gpio4> <gpio5>input</gpio5> <gpio6>input</gpio6> <gpio7>input</gpio7> <SerialPortConfiguration> <port>0</port> <baudRate>115200</baudRate> <dataBits>8</dataBits> <parity>N</parity> <stopBits>1</stopBits> </SerialPortConfiguration> <SerialPortConfiguration> <port>1</port> <baudRate>115200</baudRate> <dataBits>8</dataBits> <parity>N</parity> <stopBits>1</stopBits> </SerialPortConfiguration> <SerialPortConfiguration> <port>2</port> <baudRate>115200</baudRate> <dataBits>8</dataBits> <parity>N</parity> <stopBits>1</stopBits> </SerialPortConfiguration> <SerialPortConfiguration> <port>3</port> <baudRate>115200</baudRate> <dataBits>8</dataBits> <parity>N</parity> <stopBits>1</stopBits> </SerialPortConfiguration> <SerialPortConfiguration> <port>4</port> <baudRate>115200</baudRate> <dataBits>8</dataBits> <parity>N</parity> <stopBits>1</stopBits> </SerialPortConfiguration> <SerialPortConfiguration> <port>5</port> <baudRate>115200</baudRate> <dataBits>8</dataBits> <parity>N</parity> <stopBits>1</stopBits> </SerialPortConfiguration> <udpDestinationAddress>255.255.255.255</udpDestinationAddress> <udpDestinationPort>2200</udpDestinationPort> <udpReceiverPort>2200</udpReceiverPort> <flipCoordinates>false</flipCoordinates> <touchCursorDisplayMode>auto</touchCursorDisplayMode> <language>English</language> <languageKey>eng</languageKey> </meta> <zones> <zone> <name>Video or Images</name> <x>0</x> <y>0</y> <width>1920</width> <height>1080</height> <type>VideoOrImages</type> <id>1</id> <zoneSpecificParameters> <viewMode>Letterboxed and Centered</viewMode> <audioOutput>Analog Audio with Raw Multichannel on SPDIF</audioOutput> <audioMode>Multichannel Surround</audioMode> <audioMapping>Audio-1</audioMapping> <videoVolume>100</videoVolume> <audioVolume>100</audioVolume> <liveVideoInput>S-Video</liveVideoInput> <liveVideoStandard>NTSC-M</liveVideoStandard> <brightness>128</brightness> <contrast>64</contrast> <saturation>64</saturation> <hue>0</hue> <imageMode>Scale to Fit</imageMode> </zoneSpecificParameters> <playlist> <name>Playlist 0</name> <type>interactive</type> <states> <initialState>black.bmp</initialState> <state> <name>black.bmp</name> <x>56</x> <y>45</y> <width>116</width> <height>99</height> <id>0</id> <imageItem> <file name="black.bmp" path="C:\Users\Luca\Desktop\test_05_07_11\black.bmp" /> <fileIsLocal>True</fileIsLocal> <slideDelayInterval>3</slideDelayInterval> <slideTransition>No effect</slideTransition> </imageItem> </state> <state> <name>Mapping samsung up.ts</name> <x>247</x> <y>46</y> <width>116</width> <height>99</height> <id>1</id> <videoItem> <file name="Mapping samsung up.ts" path="C:\Users\Luca\Desktop\test_05_07_11\Mapping samsung up.ts" /> <fileIsLocal>True</fileIsLocal> <volume>100</volume> </videoItem> </state> <transition> <sourceMediaState>black.bmp</sourceMediaState> <userEvent> <name>keyboard</name> <parameters> <parameter>+</parameter> </parameters> </userEvent> <targetMediaState>Mapping samsung up.ts</targetMediaState> <displayMode>displayLabel</displayMode> <labelLocation>bottom</labelLocation> <brightSignCmd> <name>Synchronize</name> <command> <name>synchronize</name> <parameter> <name>synchronizeKeyword</name> <uiElementName>synchronizeKeyword</uiElementName> <value>start</value> <itemName /> <validationRule>-1</validationRule> </parameter> </command> </brightSignCmd> </transition> <transition> <sourceMediaState>Mapping samsung up.ts</sourceMediaState> <userEvent> <name>keyboard</name> <parameters> <parameter>0</parameter> </parameters> </userEvent> <targetMediaState /> <displayMode>displayLabel</displayMode> <labelLocation>bottom</labelLocation> <brightSignCmd> <name>Synchronize</name> <command> <name>synchronize</name> <parameter> <name>synchronizeKeyword</name> <uiElementName>synchronizeKeyword</uiElementName> <value>pausevideo</value> <itemName /> <validationRule>-1</validationRule> </parameter> </command> </brightSignCmd> <brightSignCmd> <name>PauseVideo</name> <command> <name>pauseVideoCommand</name> </command> </brightSignCmd> </transition> <transition> <sourceMediaState>Mapping samsung up.ts</sourceMediaState> <userEvent> <name>keyboard</name> <parameters> <parameter>1</parameter> </parameters> </userEvent> <targetMediaState /> <displayMode>displayLabel</displayMode> <labelLocation>bottom</labelLocation> <brightSignCmd> <name>Synchronize</name> <command> <name>synchronize</name> <parameter> <name>synchronizeKeyword</name> <uiElementName>synchronizeKeyword</uiElementName> <value>resumevideo</value> <itemName /> <validationRule>-1</validationRule> </parameter> </command> </brightSignCmd> <brightSignCmd> <name>ResumeVideo</name> <command> <name>resumeVideoCommand</name> </command> </brightSignCmd> </transition> <transition> <sourceMediaState>Mapping samsung up.ts</sourceMediaState> <userEvent> <name>keyboard</name> <parameters> <parameter>+</parameter> </parameters> </userEvent> <targetMediaState>black.bmp</targetMediaState> <displayMode>displayLabel</displayMode> <labelLocation>bottom</labelLocation> <brightSignCmd> <name>Synchronize</name> <command> <name>synchronize</name> <parameter> <name>synchronizeKeyword</name> <uiElementName>synchronizeKeyword</uiElementName> <value>black</value> <itemName /> <validationRule>-1</validationRule> </parameter> </command> </brightSignCmd> </transition> <transition> <sourceMediaState>Mapping samsung up.ts</sourceMediaState> <userEvent> <name>mediaEnd</name> <parameters> <parameter /> </parameters> </userEvent> <targetMediaState>Mapping samsung up.ts</targetMediaState> <displayMode>displayLabel</displayMode> <labelLocation>bottom</labelLocation> <brightSignCmd> <name>Synchronize</name> <command> <name>synchronize</name> <parameter> <name>synchronizeKeyword</name> <uiElementName>synchronizeKeyword</uiElementName> <value>start</value> <itemName /> <validationRule>-1</validationRule> </parameter> </command> </brightSignCmd> </transition> </states> </playlist> </zone> </zones> </BrightAuthor> slave: <?xml version="1.0" encoding="utf-8"?> <BrightAuthor version="4" BrightAuthorVersion="2.2.0.39" type="project"> <meta> <name>mapping samsung_slave_dn</name> <model>HD1010</model> <videoMode>1920x1080x50p</videoMode> <videoConnector>HDMI</videoConnector> <backgroundScreenColor a="255" r="0" g="0" b="0" /> <rssDownloadSpec type="periodic" value="86400" /> <monitorOverscan>noOverscan</monitorOverscan> <gpio0>input</gpio0> <gpio1>input</gpio1> <gpio2>input</gpio2> <gpio3>input</gpio3> <gpio4>input</gpio4> <gpio5>input</gpio5> <gpio6>input</gpio6> <gpio7>input</gpio7> <SerialPortConfiguration> <port>0</port> <baudRate>115200</baudRate> <dataBits>8</dataBits> <parity>N</parity> <stopBits>1</stopBits> </SerialPortConfiguration> <SerialPortConfiguration> <port>1</port> <baudRate>115200</baudRate> <dataBits>8</dataBits> <parity>N</parity> <stopBits>1</stopBits> </SerialPortConfiguration> <SerialPortConfiguration> <port>2</port> <baudRate>115200</baudRate> <dataBits>8</dataBits> <parity>N</parity> <stopBits>1</stopBits> </SerialPortConfiguration> <SerialPortConfiguration> <port>3</port> <baudRate>115200</baudRate> <dataBits>8</dataBits> <parity>N</parity> <stopBits>1</stopBits> </SerialPortConfiguration> <SerialPortConfiguration> <port>4</port> <baudRate>115200</baudRate> <dataBits>8</dataBits> <parity>N</parity> <stopBits>1</stopBits> </SerialPortConfiguration> <SerialPortConfiguration> <port>5</port> <baudRate>115200</baudRate> <dataBits>8</dataBits> <parity>N</parity> <stopBits>1</stopBits> </SerialPortConfiguration> <udpDestinationAddress>255.255.255.255</udpDestinationAddress> <udpDestinationPort>2200</udpDestinationPort> <udpReceiverPort>2200</udpReceiverPort> <flipCoordinates>false</flipCoordinates> <touchCursorDisplayMode>auto</touchCursorDisplayMode> <language>English</language> <languageKey>eng</languageKey> </meta> <zones> <zone> <name>Video or Images</name> <x>0</x> <y>0</y> <width>1920</width> <height>1080</height> <type>VideoOrImages</type> <id>1</id> <zoneSpecificParameters> <viewMode>Letterboxed and Centered</viewMode> <audioOutput>Analog Audio with Raw Multichannel on SPDIF</audioOutput> <audioMode>Multichannel Surround</audioMode> <audioMapping>Audio-1</audioMapping> <videoVolume>100</videoVolume> <audioVolume>100</audioVolume> <liveVideoInput>S-Video</liveVideoInput> <liveVideoStandard>NTSC-M</liveVideoStandard> <brightness>128</brightness> <contrast>64</contrast> <saturation>64</saturation> <hue>0</hue> <imageMode>Scale to Fit</imageMode> </zoneSpecificParameters> <playlist> <name>Playlist 0</name> <type>interactive</type> <states> <initialState>black.bmp</initialState> <state> <name>black.bmp</name> <x>56</x> <y>45</y> <width>116</width> <height>99</height> <id>0</id> <imageItem> <file name="black.bmp" path="C:\Users\Luca\Desktop\test_05_07_11\black.bmp" /> <fileIsLocal>True</fileIsLocal> <slideDelayInterval>3</slideDelayInterval> <slideTransition>No effect</slideTransition> </imageItem> </state> <state> <name>Mapping samsung dn.ts</name> <x>231</x> <y>49</y> <width>116</width> <height>99</height> <id>1</id> <videoItem> <file name="Mapping samsung dn.ts" path="C:\Users\Luca\Desktop\test_05_07_11\Mapping samsung dn.ts" /> <fileIsLocal>True</fileIsLocal> <volume>100</volume> </videoItem> </state> <transition> <sourceMediaState>black.bmp</sourceMediaState> <userEvent> <name>synchronize</name> <parameters> <parameter>start</parameter> </parameters> </userEvent> <targetMediaState>Mapping samsung dn.ts</targetMediaState> <displayMode>displayLabel</displayMode> <labelLocation>bottom</labelLocation> </transition> <transition> <sourceMediaState>Mapping samsung dn.ts</sourceMediaState> <userEvent> <name>synchronize</name> <parameters> <parameter>pausevideo</parameter> </parameters> </userEvent> <targetMediaState /> <displayMode>displayLabel</displayMode> <labelLocation>bottom</labelLocation> <brightSignCmd> <name>PauseVideo</name> <command> <name>pauseVideoCommand</name> </command> </brightSignCmd> </transition> <transition> <sourceMediaState>Mapping samsung dn.ts</sourceMediaState> <userEvent> <name>synchronize</name> <parameters> <parameter>resumevideo</parameter> </parameters> </userEvent> <targetMediaState /> <displayMode>displayLabel</displayMode> <labelLocation>bottom</labelLocation> <brightSignCmd> <name>ResumeVideo</name> <command> <name>resumeVideoCommand</name> </command> </brightSignCmd> </transition> <transition> <sourceMediaState>Mapping samsung dn.ts</sourceMediaState> <userEvent> <name>synchronize</name> <parameters> <parameter>black</parameter> </parameters> </userEvent> <targetMediaState>black.bmp</targetMediaState> <displayMode>displayLabel</displayMode> <labelLocation>bottom</labelLocation> </transition> <transition> <sourceMediaState>Mapping samsung dn.ts</sourceMediaState> <userEvent> <name>synchronize</name> <parameters> <parameter>start</parameter> </parameters> </userEvent> <targetMediaState>Mapping samsung dn.ts</targetMediaState> <displayMode>displayLabel</displayMode> <labelLocation>bottom</labelLocation> </transition> </states> </playlist> </zone> </zones> </BrightAuthor>

1 comment

  • 0
    Avatar
    RokuLyndon


    I don't know if your'e resume is going to work in sync, but it should not cause an error. I think the problem is with using the synchronize command. The synchronize command stop playback, and preloads the video. So, it can't be used in the middle in combination with the pause command. Most likely what's happening is that the video gets preloaded, and possibly your pause occurs before playback actually starts.

    I need to capture some error output to verify where the failure is occurring, but this seems like the most likely cause. You need to just use a standard UDP command for the pause, and listen for an udp event on the slave. I'll let you know my test results if I'm able to get by the error.
Please sign in to leave a comment.