Skip to content
Snippets Groups Projects
  1. Feb 09, 2022
    • Alexandre Janniaux's avatar
      decklink: use override for virtual functions · 2e44d338
      Alexandre Janniaux authored and Hugo Beauzée-Luyssen's avatar Hugo Beauzée-Luyssen committed
      override will ensure that the functions have the correct signature
      compared to the interface they are implemented against.
      2e44d338
    • Alexandre Janniaux's avatar
      decklink: add default virtual destructor · 6836caf0
      Alexandre Janniaux authored and Hugo Beauzée-Luyssen's avatar Hugo Beauzée-Luyssen committed
      The class has virtual functions and is calling `delete this;` so it
      triggers a warning if the class has no virtual destructors.
      
          modules/access/decklink.cpp: In member function ‘virtual ULONG {anonymous}::DeckLinkCaptureDelegate::Release()’:
          modules/access/decklink.cpp:268:13: warning: deleting object of polymorphic class type ‘{anonymous}::DeckLinkCaptureDelegate’ which has non-virtual destructor might cause undefined behavior [-Wdelete-non-virtual-dtor]
            268 |             delete this;
                |             ^~~~~~~~~~~
      6836caf0
    • Alexandre Janniaux's avatar
      vlc_objects: simplify VLC_OBJECT cast handling · 3a526cb3
      Alexandre Janniaux authored and Hugo Beauzée-Luyssen's avatar Hugo Beauzée-Luyssen committed
      Like done by _Generic in the C version, use overloading functions to
      define the correct casting behaviour depending on whether the pointer
      is already a vlc_object_t or possess a vlc_object_t as ->obj.
      
      This removes the need for listing all the objects which need a casting
      case, and non-vlc_object_t objects will fail with the following error:
      
          include/vlc_objects.h: In instantiation of ‘vlc_object_t* VLC_OBJECT(T*) [with T = {anonymous}::demux_sys_t; vlc_object_t = vlc_object_t]’:
          include/vlc_objects.h:83:18: error: ‘struct {anonymous}::demux_sys_t’ has no member named ‘obj’
      
      or, if there is a obj field which is not a vlc_object_t:
      
          include/vlc_objects.h: In instantiation of ‘vlc_object_t* VLC_OBJECT(T*) [with T = Open(vlc_object_t*)::foo; vlc_object_t = vlc_object_t]’:
          include/vlc_objects.h:83:18: error: cannot convert ‘Open(vlc_object_t*)::foo::obj*’ to ‘vlc_object_t*’ in return
             83 |     { return &d->obj; }
                |               ~~~^~~
                |                  |
                |                  Open(vlc_object_t*)::foo::obj*
      3a526cb3
    • Alexandre Janniaux's avatar
      qt: add missing forward declaration · 84016b14
      Alexandre Janniaux authored and Hugo Beauzée-Luyssen's avatar Hugo Beauzée-Luyssen committed
      intf_thread_t wasn't forward-declared and was available only thanks to
      vlc_object_cast forward declaration.
      84016b14
    • Tristan Matthews's avatar
      gstdecode: add AV1 · 58202004
      Tristan Matthews authored and Hugo Beauzée-Luyssen's avatar Hugo Beauzée-Luyssen committed
      58202004
  2. Feb 08, 2022
  3. Feb 07, 2022
Loading