ossrs / srs

SRS is a simple, high-efficiency, real-time video server supporting RTMP, WebRTC, HLS, HTTP-FLV, SRT, MPEG-DASH, and GB28181.

Home Page:https://ossrs.io

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

KERNEL: Extract a service module for modules to use.

winlinvip opened this issue · comments

Right now, there are some applications or library of SRS:

  1. Binary objs/srs, generated by core/kernel/protocol/app/main.
  2. Binary objs/srs_hls_ingester, generated by core/kernel/protocol/app/main. But, it's not compatible with config object, so it set the _srs_config to NULL. That's rediculous.
  3. Library objs/lib/srs_librtmp.a, generated by core/kernel/protocol.
  4. Binaries objs/research/library/*, generated by research and srs_librtmp.a.

SRS also support modules, for example, srs_hls_ingester is a module. For all SRS modules, the config object doesn't works well, because the config object is only for objs/srs. In another word, some objects are not available for modules, so we extract a service in src/service for modules.

Please refer to the arch https://github.com/ossrs/srs/tree/develop#modularity-architecture.

Fixed.

The 'Service module' was merged into the 'protocol' after SRS 3.

TRANS_BY_GPT3