https://github.com/awslabs/amazon-kinesis-video-streams-sdp

https://github.com/awslabs/amazon-kinesis-video-streams-sdp

Science Score: 26.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (10.1%) to scientific vocabulary
Last synced: 10 months ago · JSON representation

Repository

Basic Info
  • Host: GitHub
  • Owner: awslabs
  • License: apache-2.0
  • Language: C
  • Default Branch: main
  • Size: 52.7 KB
Statistics
  • Stars: 2
  • Watchers: 10
  • Forks: 4
  • Open Issues: 0
  • Releases: 0
Created over 2 years ago · Last pushed 11 months ago
Metadata Files
Readme Contributing License Code of conduct

README.md

amazon-kinesis-video-streams-sdp

The goal of the SDP library is provide SDP Serializer and Deserializer functionalities.

What is SDP?

Session Description Protocol (SDP), described in RFC8866, is a format for describing multimedia communication sessions for the purposes of announcement and invitation. An SDP description consists of a number of lines of text of the form:

<type>=<value>

where <type> is exactly one case-significant character and <value> is structured text whose format depends on <type>. Here is an example of a SDP message:

v=0 o=jdoe 2890844526 2890842807 IN IP4 10.47.16.5 s=SDP Seminar i=A Seminar on the session description protocol u=http://www.example.com/seminars/sdp.pdf e=j.doe@example.com (Jane Doe) c=IN IP4 224.2.17.12/127 t=2873397496 2873404696 a=recvonly m=audio 49170 RTP/AVP 0 m=video 51372 RTP/AVP 99 a=rtpmap:99 h263-1998/90000

Using the library

Serializer

  1. Call SdpSerializer_Init to start creating an SDP message.
  2. Keep appending info by calling corresponding APIs:
    • To append string, call SdpSerializer_AddBuffer().
    • To append originator, call SdpSerializer_AddOriginator().
    • etc.
  3. Call SdpSerializer_Finalize() to get the result after serialization.

Deserializer

  1. Call SdpDeserializer_Init to start deserializing an SDP message.
  2. Keep calling SdpDeserializer_GetNext() to get next <type>=<value> in the SDP message.
  3. Call corresponding parse APIs to parse string into structure:
    • If return type is SDPTYPEORIGINATOR, call SdpDeserializer_ParseOriginator().
    • If return type is SDPTYPEBANDWIDTH, call SdpDeserializer_ParseBandwidthInfo().
    • etc.
  4. Loop to step 2 till you get SDPRESULTMESSAGE_END.

Building Unit Tests

Platform Prerequisites

  • For running unit tests:
    • C99 compiler like gcc.
    • CMake 3.13.0 or later.
    • Ruby 2.0.0 or later (It is required for the CMock test framework that we use).
  • For running the coverage target, gcov and lcov are required.

Steps to build Unit Tests

  1. Go to the root directory of this repository.
  2. Run the following command to generate Makefiles:

    sh cmake -S test/unit-test -B build/ -G "Unix Makefiles" \ -DCMAKE_BUILD_TYPE=Debug \ -DBUILD_CLONE_SUBMODULES=ON \ -DCMAKE_C_FLAGS='--coverage -Wall -Wextra -Werror -DNDEBUG'

  3. Run the following command to build the library and unit tests:

    sh make -C build all

  4. Run the following command to execute all tests and view results:

    sh cd build && ctest -E system --output-on-failure

Steps to generate code coverage report of Unit Test

  1. Go to the root directory of this repository.
  2. Run the following command to generate Makefiles:

    sh cmake -S test/unit-test -B build/ -G "Unix Makefiles" \ -DBUILD_CLONE_SUBMODULES=ON \ -DCMAKE_C_FLAGS='--coverage -Wall -Wextra -Werror -DNDEBUG'

  3. Generate coverage report in build/coverage folder:

    sh cd build && make coverage

Script to run Unit Test and generate code coverage report

sh cmake -S test/unit-test -B build/ -G "Unix Makefiles" -DBUILD_CLONE_SUBMODULES=ON -DCMAKE_C_FLAGS='--coverage -Wall -Wextra -Werror -DNDEBUG -DLIBRARY_LOG_LEVEL=LOG_DEBUG' cd build && make coverage

Owner

  • Name: Amazon Web Services - Labs
  • Login: awslabs
  • Kind: organization
  • Location: Seattle, WA

AWS Labs

GitHub Events

Total
  • Push event: 2
  • Pull request review event: 10
  • Pull request review comment event: 6
  • Pull request event: 5
  • Fork event: 1
Last Year
  • Push event: 2
  • Pull request review event: 10
  • Pull request review comment event: 6
  • Pull request event: 5
  • Fork event: 1

Issues and Pull Requests

Last synced: about 2 years ago

All Time
  • Total issues: 0
  • Total pull requests: 2
  • Average time to close issues: N/A
  • Average time to close pull requests: 24 days
  • Total issue authors: 0
  • Total pull request authors: 1
  • Average comments per issue: 0
  • Average comments per pull request: 0.0
  • Merged pull requests: 2
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 2
  • Average time to close issues: N/A
  • Average time to close pull requests: 24 days
  • Issue authors: 0
  • Pull request authors: 1
  • Average comments per issue: 0
  • Average comments per pull request: 0.0
  • Merged pull requests: 2
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • ActoryOu (1)
  • Varunaditya1 (1)
Pull Request Authors
  • ActoryOu (5)
  • Varunaditya1 (2)
  • moninom1 (1)
Top Labels
Issue Labels
Pull Request Labels