CasparCG/server

Bug: background ffmpeg state no longer present in 2.4.0 RC1

sandercox opened this issue · 2 comments

Observed Behavior

Our software listens on OSC for the path of the video file that was queued up to play next on a channel/layer. This worked flawlessly before but testing the latest 2.4.0 RC1 builds it seems to have broken not too long ago.

FFmpeg (path) status of background objects is not sent

Expected behaviour

FFmpeg path status of background objects is sent

Steps to reproduce

  1. start casparcg
  2. send loadbg ch-lay file auto
  3. notice that in the OSC data the background ffmpeg producer has no path / is not sent

Environment

I ran a git bisect to identify it was broken since this commit

  • Commit: 528389a
  • Server version: 2.4.0 rc1
  • Operating system: Windows 11

I can confirm this issue.

v2.4.0-rc1 (12b4320) does have that issue.
v2.4.0-beta1 (6b339fc) is working as expected.

XML produced by AMCP command INFO 1 is also missing background data.

At least the following OSC addresses / XML elements are missing:

	*/background/file/clip
	*/background/file/name
	*/background/file/path
	*/background/file/time
	*/background/loop
	*/background/transition/frame
	*/background/transition/producer
	*/background/transition/type

OSC log v2.4.0-rc1:

11:40:04.782 | RECEIVE    | ENDPOINT([::ffff:127.0.0.1]:56292) ADDRESS(/channel/1/stage/layer/0/background/producer) STRING(transition)

OSC log v2.4.0-beta1:

11:35:30.625 | RECEIVE    | ENDPOINT([::ffff:127.0.0.1]:50623) ADDRESS(/channel/1/stage/layer/0/background/file/clip) FLOAT(0) FLOAT(0)
11:35:30.625 | RECEIVE    | ENDPOINT([::ffff:127.0.0.1]:50623) ADDRESS(/channel/1/stage/layer/0/background/file/name) STRING(BigBuckBunny.mp4)
11:35:30.625 | RECEIVE    | ENDPOINT([::ffff:127.0.0.1]:50623) ADDRESS(/channel/1/stage/layer/0/background/file/path) STRING(C:/media/BigBuckBunny.mp4)
11:35:30.625 | RECEIVE    | ENDPOINT([::ffff:127.0.0.1]:50623) ADDRESS(/channel/1/stage/layer/0/background/file/time) FLOAT(0) FLOAT(0)
11:35:30.625 | RECEIVE    | ENDPOINT([::ffff:127.0.0.1]:50623) ADDRESS(/channel/1/stage/layer/0/background/loop) BOOL(FALSE)
11:35:30.625 | RECEIVE    | ENDPOINT([::ffff:127.0.0.1]:50623) ADDRESS(/channel/1/stage/layer/0/background/producer) STRING(transition)
11:35:30.625 | RECEIVE    | ENDPOINT([::ffff:127.0.0.1]:50623) ADDRESS(/channel/1/stage/layer/0/background/transition/frame) INT32(0) INT32(0)
11:35:30.625 | RECEIVE    | ENDPOINT([::ffff:127.0.0.1]:50623) ADDRESS(/channel/1/stage/layer/0/background/transition/producer) STRING(ffmpeg)
11:35:30.625 | RECEIVE    | ENDPOINT([::ffff:127.0.0.1]:50623) ADDRESS(/channel/1/stage/layer/0/background/transition/type) STRING(cut)

AMCP INFO 1 v2.4.0-rc1:

<?xml version="1.0" encoding="utf-8"?>
<channel>
   ...
   <mixer>
      ...
   </mixer>
   <output>
      ...
   </output>
   <stage>
      <layer>
         <layer_0>
            <background>
               <producer>transition</producer>
            </background>
            <foreground>
               ...
            </foreground>
         </layer_0>
      </layer>
   </stage>
</channel>

AMCP INFO 1 v2.4.0-beta1:

<?xml version="1.0" encoding="utf-8"?>
<channel>
   ...
   <mixer>
      ...
   </mixer>
   <output>
      ...
   </output>
   <stage>
      <layer>
         <layer_0>
            <background>
               <file>
                  <clip>0</clip>
                  <clip>0</clip>
                  <name>BigBuckBunny.mp4</name>
                  <path>C:/media/BigBuckBunny.mp4</path>
                  <time>0</time>
                  <time>0</time>
               </file>
               <loop>false</loop>
               <producer>transition</producer>
               <transition>
                  <frame>0</frame>
                  <frame>0</frame>
                  <producer>ffmpeg</producer>
                  <type>cut</type>
               </transition>
            </background>
            <foreground>
               ...
            </foreground>
         </layer_0>
      </layer>
   </stage>
</channel>

@Julusian thank you for fixing this confirming it is working again in my setup!