Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

KERNEL: Software Consistency and Conceptual Integrity Issues #288

Closed
winlinvip opened this issue May 15, 2015 · 6 comments
Closed

KERNEL: Software Consistency and Conceptual Integrity Issues #288

winlinvip opened this issue May 15, 2015 · 6 comments
Assignees
Labels
Enhancement Improvement or enhancement. TransByAI Translated by AI/GPT.
Milestone

Comments

@winlinvip
Copy link
Member

winlinvip commented May 15, 2015

https://github.com/winlinvip/simple-rtmp-server/issues/288

TRANS_BY_GPT3

@winlinvip winlinvip added the Enhancement Improvement or enhancement. label May 15, 2015
@winlinvip winlinvip added this to the srs 2.0 release milestone May 15, 2015
@winlinvip
Copy link
Member Author

winlinvip commented Mar 2, 2017

#786
Maintain a simple constructor, support empty object behavior, and use non-reusable objects to simplify logic.

TRANS_BY_GPT3

@winlinvip winlinvip reopened this Mar 2, 2017
@winlinvip winlinvip modified the milestones: srs 3.0 release, srs 2.0 release Mar 2, 2017
@winlinvip
Copy link
Member Author

winlinvip commented Mar 5, 2017

#742 Refactor introduced due to possible race conditions in SrsSource, including:

  1. Always enable kernel features, there is no need to provide compile switches for core features, they should be enabled by default. Disabling core features can affect some functionalities and make them incomplete.
  2. About the CID, regarding the integrity of concepts such as connection ID, context ID, or client ID.
  3. Origin HUB, certain functionalities like DVR, HLS, and Transcode are only available at the source station. However, after triggering RTMP backhaul at the edge, Source can also use these functionalities, but they are incomplete. For example, if HLS is configured at the edge, accessing HLS at the edge will not have any slices. HLS slices will only be available when accessing RTMP. Therefore, this concept is incomplete. The functionalities exclusive to the source station are placed in OriginHUB, and only the source station SrsSource will have them.
  4. Timebase in ms, for streaming media, millisecond-based timestamps are sufficient. However, ST uses microsecond-based timestamps, so some places use milliseconds while others use microseconds. It should be unified to milliseconds.
  5. Never reuse object, in general, objects should not be reused because reusing them requires considering more states. Only objects like threads that need to be restarted may be reused. In general, reusing objects is not necessary and can simplify a lot of logic. On the contrary, if reuse is provided, sometimes the complete concept of reuse cannot be used, and only a part of it is used (not stopping in the destructor will automatically stop), or in other words, in most cases, reusing objects is not necessary.
  6. Use simplest constructor, keep the constructor simple. Otherwise, in cases where certain interfaces require the object to be effective after construction, such as TcpClient returning recv_bytes immediately after construction (it is acceptable to return 0 if no bytes are received without connecting), it may limit the meaning and concept of other interfaces. Please refer to the description in this issue for more details.

TRANS_BY_GPT3

@winlinvip winlinvip changed the title 软件一致性问题 KERNEL: 软件一致性和概念完整性问题 Mar 5, 2017
@winlinvip
Copy link
Member Author

winlinvip commented Mar 26, 2017

#820 Because many classes in the APP are used for the SRS server, while most of the Modules programs are not server programs but based on ST, it is necessary to abstract a Service module specifically for Modules to use. For example, config should not be included in this module because config is the configuration object of the SRS server.

TRANS_BY_GPT3

@winlinvip
Copy link
Member Author

winlinvip commented May 29, 2017

#906 There are too many thread classes, they should not be mixed with specific business logic. Threads should decide for themselves whether to loop or not, and the kernel only needs to provide the most typical thread logic.

TRANS_BY_GPT3

@winlinvip
Copy link
Member Author

Some issues need to be fixed:

@winlinvip
Copy link
Member Author

Fixed in SRS3.

@winlinvip winlinvip self-assigned this Aug 26, 2021
@winlinvip winlinvip changed the title KERNEL: 软件一致性和概念完整性问题 KERNEL: Software Consistency and Conceptual Integrity Issues Jul 28, 2023
@winlinvip winlinvip added the TransByAI Translated by AI/GPT. label Jul 28, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Enhancement Improvement or enhancement. TransByAI Translated by AI/GPT.
Projects
None yet
Development

No branches or pull requests

1 participant