This document was generated from CDN thread Created by: Dave Goldberg on 30-01-2011 05:52:49 AM The customer has 2 Tandberg HD cams connected into his C60. I am trying to give him a camera preview on his touch panel. I am trying to do this by hooking up the composite output (3) of the C60 to the composite video input of the touch panel. When they select the far end camera, I reset to default layouts so that composite output 3 shows the far end to the touch panel. After I do that, I try to preview a camera, but the camera will not display again on the tp preview window unless I select the other camera. Then it switches back and forth just fine. As soon as I reset the layouts, the same thing happens. When I can't get the camera to display, I just get a black screen on my preview. I have attached the api code I am sending via 232. Any ideas?DEFINE_CALL 'CAMERA_1 TO TP'{ OFF[dvCODEC,VTC_PRES_FULL_SCREEN] SEND_COMMAND aryTP_13,"'^BMF-33,0,%Tfull|screen'" // Rev xxx - 3 WAIT 5 SEND_STRING dvCODEC,"'xCommand Video Layout Add',$0D" WAIT 10 SEND_STRING dvCODEC,"'xCommand Video Layout Frame Add LayoutId: ',ITOA(nLayoutID),' Layer: 5 PositionY:0 VideoSourceId: 1 PositionX: 0 Height: 10000 Width: 10000 Border: On VideoSourceType: localInput',$0D" WAIT 15 SEND_STRING dvCODEC,"'xCommand Video Layout AssignLocalOutput OutputId: 3 LayoutId: ',ITOA(nLayoutID),$0D"}DEFINE_CALL 'CAMERA_2 TO TP'{ OFF[dvCODEC,VTC_PRES_FULL_SCREEN] SEND_COMMAND aryTP_13,"'^BMF-33,0,%Tfull|screen'" // Rev xxx - 3 WAIT 5 SEND_STRING dvCODEC,"'xCommand Video Layout Add',$0D" WAIT 10 SEND_STRING dvCODEC,"'xCommand Video Layout Frame Add LayoutId: ',ITOA(nLayoutID),' Layer: 5 PositionY: 0 VideoSourceId: 2 PositionX: 0 Height: 10000 Width: 10000 Border: On VideoSourceType: localInput',$0D" WAIT 15 SEND_STRING dvCODEC,"'xCommand Video Layout AssignLocalOutput OutputId: 3 LayoutId: ',ITOA(nLayoutID),$0D"}DEFINE_CALL 'FAR END TO TP'{ OFF[dvCODEC,VTC_PRES_FULL_SCREEN] SEND_COMMAND aryTP_13,"'^BMF-33,0,%Tfull|screen'" // Rev xxx// SEND_STRING dvCODEC,"'xCommand Video Layout UnAssignLocalOutput OutputId: 3 LayoutId: ',ITOA(nLayoutID),$0D" SEND_STRING dvCODEC,"'xCommand Video Layout Reset',$0D"// WAIT 3// SEND_STRING dvCODEC,"'xCommand Video Layout Removeall',$0D"// WAIT 6// SEND_STRING dvCODEC,"'xCommand Video Layout Frame Add LayoutId: "1" Layer: "1" PositionY: "0" VideoSourceId: "24" PositionX: "0" Height: "10000" Width: "10000" Border: "On" VideoSourceType: "remoteMain"',$0D"// WAIT 9// SEND_STRING dvCODEC,"'xCommand Video Layout Assign OutputId: "3" LayoutId: "1" CallId: "1"',$0D"}DEFINE_CALL 'FULL SCREEN VTC LOCAL PRESENTATION'{ ON[dvCODEC,VTC_PRES_FULL_SCREEN] SEND_COMMAND aryTP_13,"'^BMF-33,0,%Texit full|screen'" // Rev xxx SEND_STRING dvCODEC,"'xCommand Video Layout Reset',$0D" WAIT 3 SEND_STRING dvCODEC,"'xCommand Video Layout Add',$0D" WAIT 6 SEND_STRING dvCODEC,"'xCommand Video Layout Frame Add LayoutId: "1" Layer: "5" PositionY: "0" VideoSourceId: "3" PositionX: "0" Height: "10000" Width: "10000" Border: "On" VideoSourceType: "localInput"',$0D" WAIT 9 SEND_STRING dvCODEC,"'xCommand Video Layout Assign OutputId: "1" LayoutId: "1" CallId: "1"',$0D"}Can what I am trying to do even be done? Is there something unique about composite output 3? I remember in the past being told that you could never get the on-screen-menus to show up on that output. Is that still the case? There is a setting in the on-screen configuration that dictates the monitor role of output 3. Could that somehow be preventing me from doing what I am trying to do? I tried a bunch of different things. I ended up settling on layer 5 because I thought maybe some black layer was on top and that is why I couldn't see the camera layer. I also tried using the "'xCommand Video Layout UnAssignLocalOutput OutputId: 3 LayoutId: ',ITOA(nLayoutID),$0D" but that didn't change anything. The problem is only when you first come back from displaying the far end (wallpaper since I was not doing these tests in an active call). Also, another interesting thing I noticed while testing was this; before I knew how to use the layouts properly, I would just create a layout number of my own choosing (not the number given back when doing "'xCommand Video Layout Add',$0D"). It seemed like it took it and accepted it. If I tried to create that same number layout again before deleting it, I would get an error. But it still seemed like it would let me create a lyout number of my choosing. Also, in the API guide, for xCommand Video Layout UnAssign, it mentions something about an audio command:"OutputId: A unique identifier for the local output, which was created when the xCommand Audio LocalOutput Add command was issued." Could the fact that I am not issuing any audio command have anything to do with my problem?Subject: RE: C60 TC4.0.0 custom layout problems Replied by: Scott Stanley on 31-01-2011 10:09:48 PMI am working on doing exaclty the same thing.Reading your post it was like the one I was getting ready to write. Glad you beat me to it.I am anxious to hear a response from Tandberg. I will post if I find soluiton.Subject: RE: C60 TC4.0.0 custom layout problems Replied by: Scott Stanley on 01-02-2011 03:04:30 AMI have been playing with your code. I noticed you are redrawing the layout each time you call it. As you know (I learned from you) each time you Video Layout Add the LayoutId is incrementing.I setup one call to save the layouts. This is your code. I just added PASSTHRU= to work with my module.To keep my testing simple I am Video Layout RemoveAll before I initialize the layouts. I know there is likely a downside and will continue to explore what is going on.DEFINE_CALL 'INIT_CONFERENCE_LAYOUTS'{sEND_COMMAND vdvCODECA_COMM,"'PASSTHRU=xCommand Video Layout RemoveAll',$0D"nLayoutID=1WAIT 5SEND_COMMAND vdvCODECA_COMM,"'PASSTHRU=xCommand Video Layout Add',$0D"WAIT 10SEND_COMMAND vdvCODECA_COMM,"'PASSTHRU=xCommand Video Layout Frame Add LayoutId: ',ITOA(1),' Layer: 5 PositionY:0 VideoSourceId: 3 PositionX: 0 Height: 10000 Width: 10000 Border: On VideoSourceType: localInput',$0D"nLayoutID=2WAIT 5SEND_COMMAND vdvCODECA_COMM,"'PASSTHRU=xCommand Video Layout Add',$0D"WAIT 10SEND_COMMAND vdvCODECA_COMM,"'PASSTHRU=xCommand Video Layout Frame Add LayoutId: ',ITOA(2),' Layer: 5 PositionY: 0 VideoSourceId: 2 PositionX: 0 Height: 10000 Width: 10000 Border: On VideoSourceType: localInput',$0D"}I route to the two inputs as follows:DEFINE_CALL 'TANDBERG_CAMERA_1_TO_TP' (nLayoutID){SEND_COMMAND vdvCODECA_COMM,"'PASSTHRU=xCommand Video Layout AssignLocalOutput OutputId: 3 LayoutId: ',ITOA(1),$0D"}DEFINE_CALL 'TANDBERG_CAMERA_2_TO_TP'(nLayoutID){SEND_COMMAND vdvCODECA_COMM,"'PASSTHRU=xCommand Video Layout AssignLocalOutput OutputId: 3 LayoutId: ',ITOA(2),$0D"}DEFINE_CALL 'TANDBERGC60_FAR_END_TO_TP'{SEND_COMMAND vdvCODECA_COMM,"'PASSTHRU=xCommand Video Layout Reset',$0D"}This works reliably switching between the inputs. If I ever execute CALL 'TANDBERGC60_FAR_END_TO_TP' then I have to CALL 'INIT_CONFERENCE_LAYOUTS' to get it to call the inputs again.Subject: RE: C60 TC4.0.0 custom layout problems Replied by: Viggo Fredriksen on 03-02-2011 12:16:03 PMThe last example is pretty close, but it shouldn't be necessary to execute Video Layout Reset if you want the default layouts for the composite output. I would've used UnassignLocalOutput instead:1DEFINE_CALL 'TANDBERGC60_FAR_END_TO_TP'
2{
3 SEND_COMMAND vdvCODECA_COMM,"'PASSTHRU=xcommand Video Layout UnassignLocalOutput OutputId: 3',$0D"
4}
If you're using the TANDBERG supplied AMX module, I would also take a look at the included Tandberg_TC_VideoLayoutAPI.axi.Subject: RE: C60 TC4.0.0 custom layout problems Replied by: Dave Goldberg on 04-02-2011 05:48:59 PMAt one point during the testing, I tried using UnassignLocalOutput and that did not fix the issue. I am not using the AMX module or include file.