1. 15 Jul, 2019 1 commit
    • Sebastian Dröge's avatar
      decklinkvideosrc: Don't report that we have signal until we know for sure · bf9ecd65
      Sebastian Dröge authored
      Previously we would've reported that there is signal unless we know for
      sure that we don't have signal. For example signal would've been
      reported before the device is even opened.
      
      Now keep track whether the signal state is unknown or not and report no
      signal if we don't know yet. As before, only send an INFO message about
      signal recovery if we actually had a signal loss before.
      bf9ecd65
  2. 09 Jul, 2019 1 commit
  3. 24 Jun, 2019 1 commit
  4. 20 Jun, 2019 1 commit
  5. 13 May, 2019 1 commit
  6. 03 May, 2019 3 commits
  7. 09 Apr, 2019 1 commit
  8. 04 Mar, 2019 2 commits
  9. 19 Feb, 2019 1 commit
  10. 12 Feb, 2019 2 commits
  11. 05 Feb, 2019 1 commit
    • Nirbheek Chauhan's avatar
      misc: Fix warnings on Cerbero MinGW · fffb2aa1
      Nirbheek Chauhan authored
      gstladspa.c:360:5: error: zero-length ms_printf format string [-Werror=format-zero-length]
      
      vad_private.c:108:3: error: this decimal constant is unsigned only in ISO C90 [-Werror]
      
      gstdecklinkvideosink.cpp:478:32: error: comparison between 'BMDTimecodeFormat {aka enum _BMDTimecodeFormat}' and 'enum GstDecklinkTimecodeFormat' [-Werror=enum-compare]
      
      win/DeckLinkAPI_i.c:72:8: error: extra tokens at end of #endif directive [-Werror]
      
      win/DeckLinkAPIDispatch.cpp:35:10: error: unused variable 'res' [-Werror=unused-variable]
      
      gstwasapiutil.c:733:3: error: format '%x' expects argument of type 'unsigned int', but argument 8 has type 'DWORD' [-Werror=format]
      gstwasapiutil.c:733:3: error: format '%x' expects argument of type 'unsigned int', but argument 9 has type 'guint64' [-Werror=format]
      
      kshelpers.c:446:3: error: missing braces around initializer [-Werror=missing-braces]
      kshelpers.c:446:3: error: (near initialization for 'known_property_sets[0].guid.Data4') [-Werror=missing-braces]
      fffb2aa1
  12. 02 Jan, 2019 1 commit
  13. 18 Dec, 2018 1 commit
  14. 15 Dec, 2018 1 commit
  15. 12 Dec, 2018 1 commit
    • Matthew Waters's avatar
      decklink: calculate the decklink output time from the internal clock · 59c5ae28
      Matthew Waters authored
      Fixes the time calculations when dealing with a slaved clock (as
      will occur with more than one decklink video sink), when performing
      flushing seeks causing stalls in the output timeline, pausing.
      
      Tighten up the calculations by relying solely on the internal time
      (from the internal clock) for determining when to schedule display
      frames instead attempting to track pause lengths from the external
      clock and converting to internal time.  This results in a much easier
      offset calculation for choosing the output time and ensures that the
      clock is always advancing when we need it to.
      
      This is fixup to the 'monotonically increasing output timestamps' goal
      in: bf849e9a
      59c5ae28
  16. 28 Nov, 2018 1 commit
  17. 26 Nov, 2018 1 commit
  18. 13 Nov, 2018 1 commit
  19. 12 Nov, 2018 1 commit
  20. 07 Nov, 2018 1 commit
  21. 06 Nov, 2018 1 commit
  22. 05 Nov, 2018 1 commit
  23. 01 Nov, 2018 1 commit
  24. 12 Sep, 2018 4 commits
    • Matthew Waters's avatar
      decklinkvideosink: fix build · 17f0271a
      Matthew Waters authored
      ../sys/decklink/gstdecklinkvideosink.cpp:1006:11: error: ‘GstDecklinkVideoSink {aka struct _GstDecklinkVideoSink}’ has no member named ‘scheduled_stop_time’
           self->scheduled_stop_time = start_time;
                 ^
      17f0271a
    • Matthew Waters's avatar
      decklink: wait for stop with a timeout · 946cbbcc
      Matthew Waters authored
      Decklink sometimes does not notify us through the callback that it has
      stopped scheduled playback either because it was uncleanly shutdown
      without an explicit stop or for unknown other reasons.
      
      Wait on the cond for a short amount of time before checking if scheduled
      playback has stopped without notification.
      
      https://bugzilla.gnome.org/show_bug.cgi?id=797130
      946cbbcc
    • Matthew Waters's avatar
      decklink: start scheduled playback in paused · bf849e9a
      Matthew Waters authored
      This is part of a much larger goal to always keep the frames we schedule to
      decklink be always increasing.  This also allows us to avoid using both the
      sync and async frame display functions which aren't recomended to be used
      together.
      
      If the output timestatmsp is not always increasing decklink seems to hold
      onto the latest frame and may cause a flash in the output if the played
      sequence has a framerate less than the video output.
      
      Scenario is play for N seconds, pause, flushing seek to some other position,
      play again.  Each of the play sequences would normally start at 0 with
      the decklink time.  As a result, the latest frame from the previous sequence
      is kept alive waiting for it's timestamp to pass before either dropping
      (if a subsequent frame in the new sequence overrides it) or displayed
      causing the out of place frame to be displayed.
      
      This is also supported by the debug logs from the decklink video sink
      element where a ScheduledFrameCompleted() callback would not occur for
      the frame until the above had happened.
      
      It was timing related as to whether the frame was displayed based
      on the decklink refresh cycle (which seems to be 16ms here),
      when the frame was scheduled by the sink and the difference between
      the 'time since vblank' of the two play requests (and thus start times
      of scheduled playback).
      
      https://bugzilla.gnome.org/show_bug.cgi?id=797130
      bf849e9a
    • Matthew Waters's avatar
      decklinkaudiosink: fix debug string copy-paste error · 87077d20
      Matthew Waters authored
      Stopping != Starting
      87077d20
  25. 28 Aug, 2018 1 commit
  26. 16 Aug, 2018 1 commit
  27. 27 Jul, 2018 1 commit
  28. 10 Jul, 2018 1 commit
    • Matthew Waters's avatar
      decklink: keep the internal time we send to decklink always increasing · a9b40eeb
      Matthew Waters authored
      Otherwise decklink seems to hold onto the latest frame and may cause a
      flash in the output if the played sequence has a framerate less than the
      video output.
      
      Scenario is play for N seconds, pause, flushing seek to some other position,
      play again.  Each of the play sequences would normally start at 0 with
      the decklink time.  As a result, the latest frame from the previous sequence
      is kept alive waiting for it's timestamp to pass before either dropping
      (if a subsequent frame in the new sequence overrides it) or displayed
      causing the out of place frame to be displayed.
      
      This is also supported by the debug logs from the decklink video sink
      element where a ScheduledFrameCompleted() callback would not occur for
      the frame until the above had happened.
      
      It was timing related as to whether the frame was displayed based
      on the decklink refresh cycle (which seems to be 16ms here),
      when the frame was scheduled by the sink and the difference between
      the 'time since vblank' of the two play requests (and thus start times
      of scheduled playback).
      a9b40eeb
  29. 20 Jun, 2018 1 commit
  30. 11 May, 2018 2 commits
  31. 25 Apr, 2018 1 commit
  32. 23 Apr, 2018 1 commit