CasparCG / server

CasparCG Server is a Windows and Linux software used to play out professional graphics, audio and video to multiple outputs. It has been in 24/7 broadcast production since 2006. Ready-to-use downloads are available under the Releases tab https://casparcg.com.
GNU General Public License v3.0
914 stars 269 forks source link

OSC info in custom video mode at 1080i50 goes twice as fast / decklink doesn't support 'new' time-scale #1588

Open Sidonai-1 opened 14 hours ago

Sidonai-1 commented 14 hours ago

Observed Behavior

When creating a custom video mode we have to specify the time-scale like this:

    <video-mode>
      <id>1248x1080px50</id>
      <width>1248</width>
      <height>1080</height>
      <time-scale>50000</time-scale>
      <duration>1000</duration>
      <cadence>1920/2</cadence>
    </video-mode>

A couple years ago we gathered the info from here to create new ones, so when making a 1080i50 channel we set the time-scale to 50000.

I noticed that the OSC countdown was going twice as fast as it should, so I checked and I saw that after #1440 the time-scale of a 1080i50 channel changed to 25000.

I tried to update it in the config but the Decklink 8K Pro card throws an error.

  <channels>
    <channel>
      <video-mode>1248x1080px50</video-mode>
      <consumers>
        <decklink>
          <device>1</device>
          <video-mode>1080i5000</video-mode>
          <buffer-depth>5</buffer-depth>
        </decklink>
      </consumers>
    </channel>
  </channels>

  <video-modes>
    <video-mode>
      <id>1248x1080px50</id>
      <width>1248</width>
      <height>1080</height>
      <time-scale>25000</time-scale>
      <duration>1000</duration>
      <cadence>1920/2</cadence>
    </video-mode>
  </video-modes>
[decklink_consumer] Uninitialized.
Exception: D:\a\server\server\src\modules\decklink\consumer\decklink_consumer.cpp(189): Throw in function struct caspar::core::video_format_desc __cdecl caspar::decklink::get_decklink_format(const struct caspar::decklink::port_configuration &,const struct caspar::core::video_format_desc &)
Dynamic exception type: class boost::exception_detail::clone_impl<struct caspar::user_error>
[struct caspar::tag_msg_info * __ptr64] = Decklink does not support the channel format
[struct caspar::tag_stacktrace_info * __ptr64] =  0# 0x00007FF731C22C17 in casparcg
1# 0x00007FF731C4DAB6 in casparcg
2# 0x00007FF731DADB8E in casparcg
3# 0x00007FF731DA8B1B in casparcg
4# 0x00007FF731DAB39A in casparcg
5# 0x00007FF731C7573F in casparcg
6# 0x00007FF731CB7E9E in casparcg
7# 0x00007FF731CB2156 in casparcg
8# configthreadlocale in ucrtbase
9# BaseThreadInitThunk in KERNEL32
10# RtlUserThreadStart in ntdll

0# 0x00007FF731C22C17 in casparcg
1# 0x00007FF731C226A5 in casparcg
2# 0x00007FF731EDCEA9 in casparcg
3# 0x00007FFC58191080 in VCRUNTIME140_1
4# _NLG_Return2 in VCRUNTIME140_1
5# RtlCaptureContext2 in ntdll
6# 0x00007FF731C497C8 in casparcg
7# 0x00007FF731C4E039 in casparcg
8# 0x00007FF731C24952 in casparcg
9# 0x00007FF731C27E62 in casparcg
10# 0x00007FF731E99814 in casparcg
11# BaseThreadInitThunk in KERNEL32
12# RtlUserThreadStart in ntdll

Environment