|
|
|
|
@ -73,16 +73,16 @@ int main(void) {
|
|
|
|
|
CHECK(android_stream_watch(group) == 0); test_clock_poll(ua, 100); |
|
|
|
|
CHECK(source_events == 1 && source_group == group && !strcmp(source_snapshot, "[]")); |
|
|
|
|
CHECK(!stream_service_needs_activity(inst)); |
|
|
|
|
CHECK(android_stream_open(1, group, 0, 1280, 720, 90, 1, 0) == 0); |
|
|
|
|
CHECK(android_stream_open(1, group, 0, 1280, 720, 90, 1, 0, STREAM_MEDIA_H264) == 0); |
|
|
|
|
size_t size = 0; u_free(wait_event(1, 4, &size)); |
|
|
|
|
char *sources = NULL; CHECK(stream_sources_json(inst, group, &sources) == STREAM_OK); |
|
|
|
|
CHECK(strstr(sources, "epoch") && strstr(sources, "name")); u_free(sources); test_clock_poll(ua, 100); |
|
|
|
|
CHECK(source_events == 2 && strstr(source_snapshot, "epoch")); |
|
|
|
|
struct stream_member_state member; |
|
|
|
|
CHECK(stream_member_load(inst, group, inst->node_id, &member, NULL) == STREAM_OK && member.published); |
|
|
|
|
CHECK(android_stream_open(5, group, inst->node_id, 0, 0, 0, 1, member.source.source_epoch ^ 1) == 0); |
|
|
|
|
CHECK(android_stream_open(5, group, inst->node_id, 0, 0, 0, 1, member.source.source_epoch ^ 1, STREAM_MEDIA_H264) == 0); |
|
|
|
|
uint8_t *error = wait_event(5, 6, &size); CHECK(error[1] == STREAM_CLOSE_SOURCE_CHANGED); u_free(error); |
|
|
|
|
CHECK(android_stream_open(2, group, inst->node_id, 0, 0, 0, 1, member.source.source_epoch) == 0); |
|
|
|
|
CHECK(android_stream_open(2, group, inst->node_id, 0, 0, 0, 1, member.source.source_epoch, STREAM_MEDIA_H264) == 0); |
|
|
|
|
u_free(wait_event(2, 4, &size)); |
|
|
|
|
CHECK(source_events == 2); /* Подписка не меняет каталог публикаций. */ |
|
|
|
|
for (unsigned i = 0; i < sizeof(video); i++) video[i] = (uint8_t)i; |
|
|
|
|
@ -151,7 +151,7 @@ int main(void) {
|
|
|
|
|
while ((output = android_stream_pull(2, &size))) u_free(output); |
|
|
|
|
CHECK(!strcmp(source_snapshot, "[]")); |
|
|
|
|
current_format.rotation = 0; current_format.audio_codec = 0; |
|
|
|
|
CHECK(android_stream_open(3, group, 0, 1280, 720, 0, 0, 0) == 0); u_free(wait_event(3, 4, &size)); |
|
|
|
|
CHECK(android_stream_open(3, group, 0, 1280, 720, 0, 0, 0, STREAM_MEDIA_H264) == 0); u_free(wait_event(3, 4, &size)); |
|
|
|
|
pthread_t thread; CHECK(pthread_create(&thread, NULL, producer, NULL) == 0); |
|
|
|
|
while (!__atomic_load_n(&producer_started, __ATOMIC_ACQUIRE)) {} |
|
|
|
|
android_stream_detach(inst); |
|
|
|
|
@ -159,7 +159,7 @@ int main(void) {
|
|
|
|
|
CHECK(feed(3, 1, 900000, 1, video, sizeof(video)) == -1); |
|
|
|
|
while ((output = android_stream_pull(3, &size))) u_free(output); |
|
|
|
|
android_stream_attach(inst); |
|
|
|
|
CHECK(android_stream_open(4, group, 0, 1280, 720, 0, 0, 0) == 0); android_stream_stop(4); |
|
|
|
|
CHECK(android_stream_open(4, group, 0, 1280, 720, 0, 0, 0, STREAM_MEDIA_H264) == 0); android_stream_stop(4); |
|
|
|
|
u_free(wait_event(4, 5, &size)); |
|
|
|
|
android_stream_detach(inst); uasync_mark_stopped(ua); utun_instance_destroy(inst); uasync_destroy(ua, 0); |
|
|
|
|
u_free(source_snapshot); |
|
|
|
|
|