1. 04 4月, 2014 10 次提交
  2. 03 4月, 2014 1 次提交
  3. 02 4月, 2014 13 次提交
    • J
      obs-output module: Fill out more functions · 4a652ec8
      jp9000 提交于
       - Add start/stop code to obs-output module
      
       - Use a circular buffer for the buffered encoder packets instead of a
         dynamic array
      
       - Add pthreads.lib as a dependency to obs-output module on windows in
         visual studio project files
      
       - Fix an windows export bug for avc parsing functions on windows.
         Also, rename those functions to be more consistent with each other.
      
       - Make outputs use a single function for encoded data rather than
         multiple functions
      
       - Add the ability to make 'text' properties be passworded
      4a652ec8
    • J
      Merge pull request #52 from BtbN/pfix · fd9d3955
      Jim 提交于
      Several CMake fixes and enhancements
      fd9d3955
    • B
      Remove hard dependency on PulseAudio · 293fa069
      BtbN 提交于
      293fa069
    • B
      044680f0
    • B
      04dfcb2d
    • B
      Add a new install function to install targets into the datadir structure · 221a6929
      BtbN 提交于
      This is mainly intended to be used for preloaded/injected DLLs, which
      don't belong into the libdir or plugindir.
      221a6929
    • B
      Fixup libobs-opengl CMakeLists · acab80cb
      BtbN 提交于
      acab80cb
    • B
      Error on implicit declaration · b6983da0
      BtbN 提交于
      b6983da0
    • B
      Add missing project directives · 84bfb6e8
      BtbN 提交于
      84bfb6e8
    • J
      obs-outputs module: Use the correct deps variable · c751d080
      jp9000 提交于
      c751d080
    • J
      Add preliminary FLV/RTMP output (incomplete) · 0cf9e0cf
      jp9000 提交于
       - obs-outputs module:  Add preliminary code to send out data, and add
         an FLV muxer.  This time we don't really need to build the packets
         ourselves, we can just use the FLV muxer and send it directly to
         RTMP_Write and it should automatically parse the entire stream for us
         without us having to do much manual code at all.  We'll see how it
         goes.
      
       - libobs:  Add AVC NAL packet parsing code
      
       - libobs/media-io:  Add quick helper functions for audio/video to get
         the width/height/fps/samplerate/etc rather than having to query the
         info structures each time.
      
       - libobs (obs-output.c):  Change 'connect' signal to 'start' and 'stop'
         signals.  'start' now specifies an error code rather than whether it
         simply failed, that way the client can actually know *why* a failure
         occurred.  Added those error codes to obs-defs.h.
      
       - libobs:  Add a few functions to duplicate/free encoder packets
      0cf9e0cf
    • J
      Add librtmp to obs-outputs · ed6fc7b1
      jp9000 提交于
      Note that this is a somewhat heavily modified custom version of librtmp.
      I modified all the platform specific code that we were using for the
      OBS1 to make it platform-independent.
      
      I don't really like the code in this library, but it works well enough,
      so I can't really fault anyone for it.  It's just very..  unclean.  Even
      for a C library, quite unclean.  Some parts are also a little less safe
      than I'd prefer as well.
      ed6fc7b1
    • J
      Improve serializer and add array serializer · d42ff7f0
      jp9000 提交于
      The serializer code is meant to be used as a means of reading/writing
      data from any arbitrary type of input/output.
      
      The array output serializer makes it so we can stream data to a dynamic
      array on the fly.
      d42ff7f0
  4. 30 3月, 2014 3 次提交
    • J
      Fix CMakeLists.txt for each project (my fault) · 263f9408
      jp9000 提交于
      263f9408
    • J
      Minor fix to GL texture cleanup · b2885480
      jp9000 提交于
      Don't clear any data if it's a dummy texture.
      b2885480
    • J
      Add dummy GL texture flag & direct object access · 0a86e8fb
      jp9000 提交于
       - Add dummy GL texture support to allow libobs texture references to be
         created for GL without
      
       - Add a texture_getobj function to allow the retrieval of the
         context-specific object, such as the D3D texture pointer, or the
         OpenGL texture object handle.
      
       - Also cleaned up the export stuff.  I realized it was all totally
         superfluous.  Kind of a dumb moment, but nice to clean it up
         regardless.
      0a86e8fb
  5. 28 3月, 2014 1 次提交
    • J
      Implement encoder usage with outputs · 6da26a3a
      jp9000 提交于
       - Make it so that encoders can be assigned to outputs.  If an encoder
         is destroyed, it will automatically remove itself from that output.
         I specifically didn't want to do reference counting because it leaves
         too much potential for unchecked references and it just felt like it
         would be more trouble than it's worth.
      
       - Add a 'flags' value to the output definition structure.  This lets
         the output specify if it uses video/audio, and whether the output is
         meant to be used with OBS encoders or not.
      
       - Remove boilerplate code for outputs.  This makes it easier to program
         outputs.  The boilerplate code involved before was mostly just
         involving connecting to the audio/video data streams directly in each
         output plugin.
      
         Instead of doing that, simply add plugin callback functions for
         receiving video/audio (either encoded or non-encoded, whichever it's
         set to use), and then call obs_output_begin_data_capture and
         obs_output_end_data_capture to automatically handle setting up
         connections to raw or encoded video/audio streams for the plugin.
      
       - Remove 'active' function from output callbacks, as it's no longer
         really needed now that the libobs output context automatically knows
         when the output is active or not.
      
       - Make it so that an encoder cannot be destroyed until all data
         connections to the encoder have been removed.
      
       - Change the 'start' and 'stop' functions in the encoder interface to
         just an 'initialize' callback, which initializes the encoder.
      
       - Make it so that the encoder must be initialized first before the data
         stream can be started.  The reason why initialization was separated
         from starting the encoder stream was because we need to be able to
         check that the settings used with the encoder *can* be used first.
      
         This problem was especially annoying if you had both video/audio
         encoding.  Before, you'd have to check the return value from
         obs_encoder_start, and if that second encoder fails, then you
         basically had to stop the first encoder again, making for
         unnecessary boilerplate code whenever starting up two encoders.
      6da26a3a
  6. 26 3月, 2014 1 次提交
  7. 25 3月, 2014 1 次提交
  8. 24 3月, 2014 1 次提交
    • P
      Add properties to osx display capture · 7707773f
      Palana 提交于
      Also add support for capturing displays that are not the main display as
      preparation for moving the code from test-plugins into a proper plugin
      in the future
      7707773f
  9. 23 3月, 2014 2 次提交
    • J
      Initialize properties with current settings · 35d7d4ff
      jp9000 提交于
      I neglected to make it initialize the actual control values with the
      current settings
      35d7d4ff
    • J
      Add source properties window (very preliminary) · d9251f9e
      jp9000 提交于
       - Add a properties window for sources so that you can now actually edit
         the settings for sources.  Also, display the source by itself in the
         window (Note: not working on mac, and possibly not working on linux).
      
         When changing the settings for a source, it will call
         obs_source_update on that source when you have modified any values
         automatically.
      
       - Add a properties 'widget', eventually I want to turn this in to a
         regular nice properties view like you'd see in the designer, but
         right now it just uses a form layout in a QScrollArea with regular
         controls to display the properties.  It's clunky but works for the
         time being.
      
       - Make it so that swap chains and the main graphics subsystem will
         automatically use at least one backbuffer if none was specified
      
       - Fix bug where displays weren't added to the main display array
      
       - Make it so that you can get the properties of a source via the actual
         pointer of a source/encoder/output in addition to being able to look
         up properties via identifier.
      
       - When registering source types, check for required functions (wasn't
         doing it before).  getheight/getwidth should not be optional if it's
         a video source as well.
      
       - Add an RAII OBSObj wrapper to obs.hpp for non-reference-counted
         libobs pointers
      
       - Add an RAII OBSSignal wrapper to obs.hpp for libobs signals to
         automatically disconnect them on destruction
      
       - Move the "scale and center" calculation in window-basic-main.cpp to
         its own function and in its own source file
      
       - Add an 'update' callback to WASAPI audio sources
      d9251f9e
  10. 18 3月, 2014 1 次提交
    • J
      Fix GNU atomic builtins · 6c904650
      jp9000 提交于
      The ones that were being used returned the previous value rather than
      the new value
      6c904650
  11. 17 3月, 2014 6 次提交
    • J
      Make sure ot use the right enum name · 950f780b
      jp9000 提交于
      Microsoft's garbage compiler just doesn't even..  read the names of
      enums.  It sees an enum and goes "durr, that's an int" without even
      properly evaluating it.  Just total garbage, as per usual.
      950f780b
    • J
      obs-data: Internally store as int or double · 291d9961
      jp9000 提交于
      If integers are used, then store as integers.  If doubles are used, then
      store as doubles.  This way precision issues are prevented.
      291d9961
    • J
      Change a reference variable to be volatile long · 2b4e381c
      jp9000 提交于
      Removed some warnings associated with it, was the wrong variable type.
      2b4e381c
    • J
      Fix Qt5 with debian-based builds (for real) · 4444ca55
      jp9000 提交于
      You have to use qt5_use_modules otherwise it just won't always work.  I
      don't know how it was working before with cmake, but apparently this
      does the trick to ensure that all the necessary libraries and includes
      are added.  ..Might require cmake 3.8.9 though.  ..I do hope that
      doesn't end up being a problem.
      4444ca55
    • J
      Use atomic functions where appropriate · 154e0c59
      jp9000 提交于
      Also, rename atomic functions to be consistent with the rest of the
      platform/threading functions, and move atomic functions to threading*
      files rather than platform* files
      154e0c59
    • J
      Set defaults automatically · 3ed647b8
      jp9000 提交于
      Automatically query defaults for sources/outputs/encoders and set them
      before calling create
      3ed647b8