examples: Make examples work with SCL
This commit is contained in:
parent
43d186a895
commit
ef887b1025
|
@ -70,8 +70,13 @@ int main(void)
|
|||
{
|
||||
std::cout << "Sending frame " << i + 1 << '/' << AMOUNT_OF_PACKETS << std::endl;
|
||||
|
||||
// uvgRTP mandates the existance of NAL units so we fake some
|
||||
std::unique_ptr<uint8_t[]> dummy_frame =
|
||||
std::unique_ptr<uint8_t[]>(new uint8_t[PAYLOAD_LEN]);
|
||||
memset(dummy_frame.get(), 'a', PAYLOAD_LEN); // payload
|
||||
memset(dummy_frame.get(), 0, 3);
|
||||
memset(dummy_frame.get() + 3, 1, 1);
|
||||
memset(dummy_frame.get() + 4, 1, (19 << 1)); // Intra frame NAL type
|
||||
|
||||
if (send->push_frame(std::move(dummy_frame), PAYLOAD_LEN, RTP_NO_FLAGS) != RTP_OK)
|
||||
{
|
||||
|
|
|
@ -92,6 +92,10 @@ int main(void)
|
|||
for (int i = 0; i < SEND_TEST_PACKETS; ++i)
|
||||
{
|
||||
auto buffer = std::unique_ptr<uint8_t[]>(new uint8_t[PAYLOAD_LEN]);
|
||||
memset(buffer.get(), 'a', PAYLOAD_LEN);
|
||||
memset(buffer.get(), 0, 3);
|
||||
memset(buffer.get() + 3, 1, 1);
|
||||
memset(buffer.get() + 4, 1, (19 << 1)); // Intra frame
|
||||
|
||||
if ((i+1)%10 == 0 || i == 0) // print every 10 frames and first
|
||||
std::cout << "Sending frame " << i + 1 << '/' << SEND_TEST_PACKETS << std::endl;
|
||||
|
|
|
@ -75,6 +75,11 @@ int main(void)
|
|||
for (int i = 0; i < SEND_TEST_PACKETS; ++i)
|
||||
{
|
||||
auto buffer = std::unique_ptr<uint8_t[]>(new uint8_t[PAYLOAD_LEN]);
|
||||
memset(buffer.get(), 'a', PAYLOAD_LEN);
|
||||
|
||||
memset(buffer.get(), 0, 3); // start code prefix
|
||||
memset(buffer.get() + 3, 1, 1);
|
||||
memset(buffer.get() + 4, 1, (19 << 1)); // Intra frame
|
||||
|
||||
// fake timestamp. This way the receiver can play the frames at a lower pace, even if
|
||||
// we generate them really fast.
|
||||
|
|
|
@ -82,6 +82,10 @@ int main(void)
|
|||
uint8_t buffer[PAYLOAD_LEN] = { 0 };
|
||||
memset(buffer, 'a', PAYLOAD_LEN);
|
||||
|
||||
memset(buffer, 0, 3);
|
||||
memset(buffer + 3, 1, 1);
|
||||
memset(buffer + 4, 1, (19 << 1)); // Intra frame
|
||||
|
||||
std::chrono::steady_clock::time_point start = std::chrono::steady_clock::now();
|
||||
|
||||
for (unsigned int i = 0; i < SEND_TEST_PACKETS; ++i)
|
||||
|
|
|
@ -53,6 +53,10 @@ int main(void)
|
|||
for (int i = 0; i < AMOUNT_OF_TEST_PACKETS; ++i)
|
||||
{
|
||||
std::unique_ptr<uint8_t[]> dummy_frame = std::unique_ptr<uint8_t[]>(new uint8_t[PAYLOAD_LEN]);
|
||||
memset(dummy_frame.get(), 'a', PAYLOAD_LEN); // NAL payload
|
||||
memset(dummy_frame.get(), 0, 3);
|
||||
memset(dummy_frame.get() + 3, 1, 1);
|
||||
memset(dummy_frame.get() + 4, 1, (19 << 1)); // Intra frame NAL type
|
||||
|
||||
if ((i+1)%10 == 0 || i == 0) // print every 10 frames and first
|
||||
std::cout << "Sending frame " << i + 1 << '/' << AMOUNT_OF_TEST_PACKETS << std::endl;
|
||||
|
|
|
@ -183,9 +183,17 @@ void sender_function(uvgrtp::session* sender_session, int flags, std::shared_ptr
|
|||
print_mutex->unlock();
|
||||
*/
|
||||
|
||||
std::unique_ptr<uint8_t[]> dummy_audio_frame = std::unique_ptr<uint8_t[]>(new uint8_t[payload_size]);
|
||||
std::unique_ptr<uint8_t[]> dummy_frame = std::unique_ptr<uint8_t[]>(new uint8_t[payload_size]);
|
||||
|
||||
if (sender_audio_strm->push_frame(std::move(dummy_audio_frame), payload_size, RTP_NO_FLAGS) != RTP_OK)
|
||||
if (format == RTP_FORMAT_H265 && payload_size >= 5)
|
||||
{
|
||||
memset(dummy_frame.get(), 'a', payload_size); // data
|
||||
memset(dummy_frame.get(), 0, 3);
|
||||
memset(dummy_frame.get() + 3, 1, 1);
|
||||
memset(dummy_frame.get() + 4, 1, (19 << 1)); // Intra frame NAL type
|
||||
}
|
||||
|
||||
if (sender_audio_strm->push_frame(std::move(dummy_frame), payload_size, RTP_NO_FLAGS) != RTP_OK)
|
||||
{
|
||||
std::cerr << "Failed to send frame" << std::endl;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue