Commit Graph

20 Commits

Author SHA1 Message Date
bastimeyer e88a84e2a1 docs: add cache API docs and add Plugin.cache ref 2023-11-27 00:06:20 +01:00
bastimeyer d3ae06f91a docs: add plugin.api.validate API documentation 2023-11-06 19:22:20 +01:00
bastimeyer d1759665be docs: add docs page for Options class
- Add `api/options` page and document `Options` class
- Move `Argument` and `Arguments` from plugin page to options page
- Add docstrings for `Streamlink.options` and `Plugin.options`
2023-07-18 20:33:18 +02:00
bastimeyer 60459461fd webbrowser.cdp: implement CDP client 2023-07-04 10:59:46 +02:00
bastimeyer fa8139d147 docs: split API docs into multiple documents 2023-06-24 13:38:25 +02:00
bastimeyer 109263b186 exceptions: update docs and fix NoPluginError
- Make `NoPluginError` inherit from `StreamlinkError`
  instead of `PluginError`
- Update and fix docstrings of all Streamlink exception classes
- Update list of exceptions in API docs
- Fix exports
2023-01-12 09:49:02 -08:00
bastimeyer 5a540001fc docs: add plugin{matcher,argument} docstrings
- Add docstrings for the `pluginmatcher` and `pluginargument` decorators
- Update typing information of `Plugin.arguments` and add docstring
- Update docstrings of `Argument` and `Arguments`
- Fix minor issue in `Arguments.requires()`
2022-08-27 11:31:28 +02:00
bastimeyer b72f23fd69 docs: update API page, add type annotations 2022-04-05 19:19:22 +02:00
bastimeyer a7063e1d70 stream: remove RTMP and RTMPDump dependency
- drop RTMP stream implementation
- drop RTMP plugin
- drop RTMPDump dependency
- remove stream.streamprocess and utils.{rtmp,swf}
- remove "rtmp" from default stream types list
- remove "rtmp" from player-passthrough options list
- remove all `--rtmp*` CLI args and `rtmp-*` session options
- remove all `--subprocess-*` CLI args and `subprocess` session options,
  as these were used only by StreamProcess which is no longer needed
- update tests
- update docs and CLI argument help texts
2021-11-13 13:24:25 +01:00
bastimeyer 46817a1cff streams: remove HDS/AkamaiHD and flashmedia pkg
- drop HDS and AkamaiHD stream implementations
- drop HDS and AkamaiHD plugins
- drop streamlink.packages.flashmedia
- remove stream.flvconcat, stream.playlist and plugins.common_swf
- remove "hds" from default stream types list
- remove all `--hds-*` CLI arguments and `hds-*` session options
- remove unneeded flashmedia license text files
- update tests
- update docs and CLI argument help texts
2021-11-12 20:09:53 +01:00
bastimeyer 176046d1e7 docs: add autosectionlabel Sphinx extension
- set `autosectionlabel_prefix_document` option to True
  reference format is `page_name:headline-name`
- use auto-generated headline labels in :ref: links
- remove custom headline labels
2020-11-11 17:20:51 -08:00
beardypig c1489782cf MPEG DASH Support (initial) (#1637)
* stream.dash: parser for dash manifest files

* stream.dash: stream player for dash with plugin to support dash:// prefixed urls

* cli.main: make sure that streams are closed on errors

* stream.dash: fix some parsing bugs

* stream.dash: tidy up the segment number generation

* plugins.dash: wip segment timeline

* stream.dash: update to segment timeline parsing

* stream.dash: py3 support

* stream.dash: raise an error for DRM protected streams

* stream.dash: fixes for timescaling and some segment templates

* docs: add DASHStream to docs with other Stream classes

* dash: fix for video only stream

* plugins.dash: fix bug where all URLs were matched

* stream.dash: fix issue with manifest reload

* plugin.dash: add tests and fix a couple of bugs found in testing

* stream.dash: add some tests to cover the DASHStream classes

* WIP: audio only streams

* add some debugging for threads and remove the thread joins

* dash: startNumber should default to 1

* dash: follow redirects to get the base url

* dash: fix bool parser, and segment template parser

* dash: fixed some issues...

...with some segment templates, as well as improving the presentation
delay handling

* dash: add a back-off for checking for manifest changes

* dash: fix broken tests

* dash: incomplete support for Segment@r

* dash: fixed audio/video sync issue

Added a `copyts` option to the FFMPEG muxer class so that the timestamps
given in the source files are maintained, this appears to fix the a/v
sync issues.

NB. The timestamp can get weird, but that's how it is :)

* dash: support for Time _and_ Number in segment timeline

* tests: add some dash parser tests + a little refactor

* tests: add dash to built in plugins

* tests: more coverage of dash_parser

Added a new module for tests, `freezegun`, for mocking time.

* dash: fix for missing publishTime

* dash: update available_at times to be datetime

This should fix any timezone or leap-second issues, etc.

* fixed timing issue for 1tv.ru

* dash: fix availability timeline for segment timeline

* dash: flake8 tweaks

* dash: add a few debug logging messages
2018-05-30 12:30:38 -07:00
beardypig d7a27b31b0 Plugin Arguments API (#1638)
* plugins: PluginArguments API

Allow plugins to specify arguments within the Plugin class.
This makes it easier to add and test plugin specific arguments, as well
as enabling sideloaded plugins to support command line arguments.

* update docs build to work with the new plugin arguments

* fix argument name override for funimation and ustream

* add some more tests for options/arguments

* rebase with abweb plugin

* switch to RuntimeException for py2 compat

* fix bug where required arguments were not prompted

* bug fixes for option names in plugins, should match existing names

* restore "normal" exception messages

* missed a RecursionError -> RuntimeError

* updated the api slightly with better (I think) argument name

added some docs for the Argument and Arguments classes

* options/args: normalise option names to replace - with _, and ensure the defaults are set

* normalise the plugin module name, replacing _ with -

* style issues pointed out by @back-to

* plugin.btsports: update to use PluginArguments

* plugins.bbciplayer: add hd argument

* plugins.twitch: move --twitch-oauth-authenticate back to argparser

Moved the option back to argparser as it's a special case.

* test: fixed typo
2018-05-25 14:25:15 -07:00
Simon Bernier St-Pierre 7353c036b0 update references to livestreamer 2016-09-19 17:38:33 -04:00
Christopher Rosell 13bbf97a40 docs: Some minor tweaks. 2014-07-07 00:04:22 +02:00
Christopher Rosell 1b6bdec115 docs: Update to reflect API additions. 2014-06-06 18:18:01 +02:00
Christopher Rosell c6e54fd57a Move all the HTTP options into the library. 2014-04-17 01:03:11 +02:00
Christopher Rosell 22eb65b014 Change default ringbuffer size to 16MB.
This helps performance on segmented stream types and
VOD's where it's common to be able to access data faster
than needed.

By allowing more data to be stored in the ringbuffer we
will have less cache drops in the player when we encounter
spikes in the download speed.
2014-01-27 18:00:24 +01:00
Christopher Rosell 3d86a352e8 Add a new exception that all other exceptions inherit from. 2013-09-17 20:00:38 +02:00
Christopher Rosell c6dcbaab11 Major restructuring of the docs. 2013-03-14 03:04:16 +01:00