Skip to content

Commit

Permalink
Merge branch 'main' into b_366064934__B__fix_SbInt16s
Browse files Browse the repository at this point in the history
  • Loading branch information
yell0wd0g authored Oct 1, 2024
2 parents 46fca2a + 06c3271 commit 8de28e0
Show file tree
Hide file tree
Showing 63 changed files with 177 additions and 3,458 deletions.
28 changes: 17 additions & 11 deletions .github/actions/on_device_tests/action.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -116,36 +116,33 @@ runs:
sleep 10
# The log files are named by the device lab test driver.
COBALT_ERROR_LOG="webDriverTestLog.ERROR"
COBALT_INFO_LOG="webDriverTestLog.INFO"
COBALT_ERROR_LOG_FILENAME="webDriverTestLog.ERROR"
COBALT_INFO_LOG_FILENAME="webDriverTestLog.INFO"
# This command will fail until the results have been uploaded.
gsutil cp "${GCS_RESULTS_PATH}/${COBALT_ERROR_LOG}" .
gsutil cp "${GCS_RESULTS_PATH}/${COBALT_INFO_LOG}" .
gsutil cp "${GCS_RESULTS_PATH}/${COBALT_ERROR_LOG_FILENAME}" .
gsutil cp "${GCS_RESULTS_PATH}/${COBALT_INFO_LOG_FILENAME}" .
gsutil cp "${GCS_RESULTS_PATH}/${COBALT_XMLS_FILENAME}" .
# Break if all files were downloaded.
if [[ -f "${COBALT_XMLS_FILENAME}" && -f "${COBALT_ERROR_LOG}" && -f "${COBALT_INFO_LOG}" ]]; then
if [[ -f "${COBALT_XMLS_FILENAME}" && -f "${COBALT_ERROR_LOG_FILENAME}" && -f "${COBALT_INFO_LOG_FILENAME}" ]]; then
break
fi
i=$(( ${i} + 1 ))
done
# Print device logs. Might fail if the log file failed to download.
cat ${COBALT_ERROR_LOG}
# Rename log files for archiving to not expose legacy weirdness.
mkdir -p "${COBALT_LOGS_DIR}/${{ matrix.platform }}/"
mv "${COBALT_ERROR_LOG}" "${COBALT_LOGS_DIR}/${{ matrix.platform }}/stderr_${{ matrix.shard }}.log"
mv "${COBALT_INFO_LOG}" "${COBALT_LOGS_DIR}/${{ matrix.platform }}/stdout_${{ matrix.shard }}.log"
cp "${COBALT_ERROR_LOG_FILENAME}" "${COBALT_LOGS_DIR}/${{ matrix.platform }}/stderr_${{ matrix.shard }}.log"
cp "${COBALT_INFO_LOG_FILENAME}" "${COBALT_LOGS_DIR}/${{ matrix.platform }}/stdout_${{ matrix.shard }}.log"
# Prepare unit test results for DataDog upload.
RESULT_PATH=${UNIT_TEST_RESULT_PATH}/${{ matrix.platform }}/${{ matrix.shard }}/
mkdir -p ${RESULT_PATH}
# Set tags for test differentiation.
tags="platform:${{ matrix.platform }}"
tags="os.platform:${{ matrix.platform }}"
echo $tags > ${UNIT_TEST_RESULT_PATH}/${{ matrix.platform }}/TAGS
unzip ${COBALT_XMLS_FILENAME} -d ${RESULT_PATH}
Expand All @@ -162,3 +159,12 @@ runs:
with:
name: unit-test-results
path: ${{ env.UNIT_TEST_RESULT_PATH }}/
- name: Print device logs
if: always()
run: |
if ls ${COBALT_LOGS_DIR}/**/*.log 1> /dev/null 2>&1; then
cat ${COBALT_LOGS_DIR}/**/*.log
else
echo "No device logs found"
fi
shell: bash
4 changes: 2 additions & 2 deletions .github/actions/on_host_test/action.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -100,8 +100,8 @@ runs:
shell: bash
run: |
# Set tags for test differentiation.
tags="platform:${{ matrix.platform }}"
tags="${tags},os:${{ inputs.os }}"
tags="os.platform:${{ matrix.platform }}"
tags="${tags},os.family:${{ inputs.os }}"
echo $tags > ${TEST_RESULTS_DIR}/${{ matrix.platform }}/TAGS
- name: Archive unit test results
uses: actions/upload-artifact@v3
Expand Down
124 changes: 124 additions & 0 deletions cobalt/site/docs/releases/25.LTS.10.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,124 @@
Project: /youtube/cobalt/_project.yaml
Book: /youtube/cobalt/_book.yaml

## Cobalt 25.LTS.10 Stable Release

The Cobalt team is thrilled to announce the stable release of **Cobalt 25 LTS
([25.lts.10.1034827](https://github.com/youtube/cobalt/tree/25.lts.10))**

The Evergreen binaries are available on GitHub
([5.10.2](https://github.com/youtube/cobalt/releases/tag/25.lts.10))

Cobalt 25 LTS includes **Starboard API version 16** for porters and this stable
release version supports all features that are required for **2025 YouTube
Certification**. The code is available at Cobalt open source
**[25.lts.10](https://github.com/youtube/cobalt/tree/25.lts.10)** branch.
(Read
[branching](https://github.com/youtube/cobalt/blob/25.lts.10/cobalt/site/docs/gen/cobalt/doc/branching.md)
and
[versioning](https://github.com/youtube/cobalt/blob/25.lts.10/cobalt/site/docs/gen/cobalt/doc/versioning.md)
documents for more information)

There are newly implemented features, improvements, and simplified code. We have
outlined the changelist with a brief description of **Cobalt 25 LTS** and
**Starboard 16** changes.

### Cobalt Changes

(see[
cobalt/CHANGELOG.md](https://github.com/youtube/cobalt/blob/25.lts.10/cobalt/CHANGELOG.md)
for more information)

#### New Features / Support

* **Chromium M114 Update:** Upgraded most Chromium components to align with
the M114 milestone release - including syncing the build environment and
compilers.
* **HTTP/3 with IETF QUIC:** Integrated HTTP/3 with IETF standard QUIC for
enhanced video playback performance in challenging network conditions.
* **Immersive Audio Model and Formats (IAMF):** Added support for IAMF audio.
* **Android U Support:** Extended compatibility to Android U

#### Updates / Improvements

* **Embedded ICU Data:** Linked ICU data directly into the Cobalt binary,
reducing storage (via binary compression) and simplifying updates.
* **Logging and Telemetry Enhancements:** Improved logging and telemetry for
update reliability and crash reporting.
* **Critical Stability fixes** : Bug fixes and stability
[improvements](https://github.com/youtube/cobalt/compare/25.lts.1...25.lts.10).

#### Evergreen

* **LZ4 Compressed Binaries:** Made LZ4 compressed binaries the default
distribution format.
* **Evergreen-Full on AOSP:** Enabled Evergreen-Full support on AOSP (Android
Open Source).

### Starboard Changes

(see
[starboard/CHANGELOG.md](https://github.com/youtube/cobalt/blob/25.lts.10/starboard/CHANGELOG.md)
for more information)

#### New Features / Support

* **POSIX API Adoption:** Adopted POSIX APIs (see [migration
guide](https://github.com/youtube/cobalt/blob/25.lts.10/starboard/doc/starboard_16_posix.md)
for details), reducing the total number of Starboard interface functions to
191 (vs 274 in Starboard 15).
* **Partial Audio Frame Support:** Introduced a new configuration constant
(kHasPartialAudioFramesSupport) for partial audio frames.

#### Updates / Improvements

* **pthread Migration:** Migrated various components (e.g.,`
SbConditionVariable`, `SbOnce`, `SbThreadLocalKey`, etc) to pthread.
* **Memory and File System Migration:** Migrated memory allocation functions
(`SbMemoryAllocate`, `SbMemoryMap` and others) to `malloc`, `mmap` and file
system functions (`SbDirectoryOpen`, `SbDirectoryClose` and others) to
equivalent `opendir`, `closedir`.
* **Socket API Migration:** Migrated `SbSocket` to socket APIs.
* **Starboard Extensions : `Accessibility`** and `onScreenKeyboard` Starboard
APIs are converted to Starboard Extensions (available in`
starboard/extension/accessibility.h `and
`starboard/extension/on_screen_keyboard.h` respectively).
* **Build Standard Upgrade:** Upgraded the C build standard to C11.
* Removed `SB_C_NOINLINE`.
* Deprecated `SB_C_INLINE` and removed config for `SB_C_FORCE_INLINE`.
* Removed configs for `SB_EXPORT_PLATFORM` and `SB_IMPORT_PLATFORM`.
* **Configuration Changes:**
* Changed `MAP_EXECUTABLE_MEMORY` from build-time to runtime config
(`kSbCanMapExecutableMemory`).
* **Additional Migrations:** Migrated `SbDirectoryCanOpen`, `SbFileExists`,
and `SbFileGetPathInfo` to `start` , and `SbFileOpen`, `SbFileClose` to
`open`, `close`.

#### Deprecations

* **Deprecated Evergreen-x86 ABI:** The x86 platform configurations, builds
and ABI are no longer supported for Evergreen.
* **OnScreenKeyboard:** Deprecated OnScreenKeyboard.
* **Unused Configurations:** Deprecated various unused configurations (e.g.,
`B_HAS_GLES2`, `SB_HAS_NV12_TEXTURE_SUPPORT`, `VIRTUAL_REALITY`,
`DeployPathPatterns`, `SPEECH_SYNTHESIS`, `FILESYSTEM_ZERO_FILEINFO_TIME`,
`SB_HAS_PIPE`).
* **Audio and Media:**
* Deprecated SB_HAS_QUIRK(SUPPORT_INT16_AUDIO_SAMPLES).
* Deprecated `SbMediaGetBufferAlignment`, `SbMediaGetBufferPadding` and
`SbMediaGetBufferStorageType`.
* Deprecated `SbMediaIsBufferUsingMemoryPool`, and memory pool is always
used. (`SbMediaIsBufferUsingMemoryPool` is required to be true)
* **Starboard Hash Configs:** Deprecated Starboard hash configs.

### 2025 YouTube Certification

Remember to use "_25.lts.10_" for the 2025 YouTube certification and for your
product release. Cobalt Known Issues with Status, Fixes, and Mitigations can be
found in the [YouTube Partner
Portal](https://developers.google.com/youtube/devices/living-room/support/cobalt-known-issues).

### Contact Points

Contact our [support channels](https://cobalt.dev/communication.html) if
you have any problems, questions, or feedback.
11 changes: 0 additions & 11 deletions starboard/android/shared/BUILD.gn
Original file line number Diff line number Diff line change
Expand Up @@ -92,25 +92,14 @@ static_library("starboard_platform") {
"//starboard/shared/posix/socket_connect.cc",
"//starboard/shared/posix/socket_create.cc",
"//starboard/shared/posix/socket_destroy.cc",
"//starboard/shared/posix/socket_free_resolution.cc",
"//starboard/shared/posix/socket_get_last_error.cc",
"//starboard/shared/posix/socket_get_local_address.cc",
"//starboard/shared/posix/socket_internal.cc",
"//starboard/shared/posix/socket_is_connected.cc",
"//starboard/shared/posix/socket_is_connected_and_idle.cc",
"//starboard/shared/posix/socket_is_ipv6_supported.cc",
"//starboard/shared/posix/socket_join_multicast_group.cc",
"//starboard/shared/posix/socket_listen.cc",
"//starboard/shared/posix/socket_receive_from.cc",
"//starboard/shared/posix/socket_resolve.cc",
"//starboard/shared/posix/socket_send_to.cc",
"//starboard/shared/posix/socket_set_broadcast.cc",
"//starboard/shared/posix/socket_set_receive_buffer_size.cc",
"//starboard/shared/posix/socket_set_reuse_address.cc",
"//starboard/shared/posix/socket_set_send_buffer_size.cc",
"//starboard/shared/posix/socket_set_tcp_keep_alive.cc",
"//starboard/shared/posix/socket_set_tcp_no_delay.cc",
"//starboard/shared/posix/socket_set_tcp_window_scaling.cc",
"//starboard/shared/posix/storage_write_record.cc",
"//starboard/shared/posix/system_break_into_debugger.cc",
"//starboard/shared/posix/system_clear_last_error.cc",
Expand Down
5 changes: 2 additions & 3 deletions starboard/common/optional.h
Original file line number Diff line number Diff line change
Expand Up @@ -184,8 +184,7 @@ class optional {
// Overloaded conversion to bool operator for determining whether the optional
// is engaged or not. It returns true if the optional is engaged, and false
// otherwise.
#if (defined(_MSC_VER) && (_MSC_VER < 1800)) || \
(defined(__GNUC__) && \
#if (defined(__GNUC__) && \
(__GNUC__ < 4 || (__GNUC__ == 4 && (__GNUC_MINOR__ < 5))))
// MSVC 2012 does not support explicit cast operators.
// http://blogs.msdn.com/b/vcblog/archive/2011/09/12/10209291.aspx
Expand All @@ -199,7 +198,7 @@ class optional {
// == and != are already overloaded for optional, this leaves null tests,
// which we use for boolean testing.
class PrivateSafeBoolIdiomFakeMemberType;
typedef PrivateSafeBoolIdiomFakeMemberType optional::*SafeBoolIdiomType;
typedef PrivateSafeBoolIdiomFakeMemberType optional::* SafeBoolIdiomType;

public:
operator const SafeBoolIdiomType() const {
Expand Down
36 changes: 0 additions & 36 deletions starboard/common/socket.cc
Original file line number Diff line number Diff line change
Expand Up @@ -92,14 +92,6 @@ Socket* Socket::Accept() {
return NULL;
}

bool Socket::IsConnected() {
return SbSocketIsConnected(socket_);
}

bool Socket::IsConnectedAndIdle() {
return SbSocketIsConnectedAndIdle(socket_);
}

bool Socket::IsPending() {
return GetLastError() == kSbSocketPending;
}
Expand Down Expand Up @@ -128,38 +120,10 @@ bool Socket::GetLocalAddress(SbSocketAddress* out_address) {
return SbSocketGetLocalAddress(socket_, out_address);
}

bool Socket::SetBroadcast(bool value) {
return SbSocketSetBroadcast(socket_, value);
}

bool Socket::SetReuseAddress(bool value) {
return SbSocketSetReuseAddress(socket_, value);
}

bool Socket::SetReceiveBufferSize(int32_t size) {
return SbSocketSetReceiveBufferSize(socket_, size);
}

bool Socket::SetSendBufferSize(int32_t size) {
return SbSocketSetSendBufferSize(socket_, size);
}

bool Socket::SetTcpKeepAlive(bool value, int64_t period) {
return SbSocketSetTcpKeepAlive(socket_, value, period);
}

bool Socket::SetTcpNoDelay(bool value) {
return SbSocketSetTcpNoDelay(socket_, value);
}

bool Socket::SetTcpWindowScaling(bool value) {
return SbSocketSetTcpWindowScaling(socket_, value);
}

bool Socket::JoinMulticastGroup(const SbSocketAddress* address) {
return SbSocketJoinMulticastGroup(socket_, address);
}

SbSocket Socket::socket() {
return socket_;
}
Expand Down
1 change: 0 additions & 1 deletion starboard/common/socket.h
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,6 @@ class Socket {
bool SetTcpKeepAlive(bool value, int64_t period); // period in microseconds.
bool SetTcpNoDelay(bool value);
bool SetTcpWindowScaling(bool value);
bool JoinMulticastGroup(const SbSocketAddress* address);

SbSocket socket();

Expand Down
2 changes: 0 additions & 2 deletions starboard/configuration.h
Original file line number Diff line number Diff line change
Expand Up @@ -45,8 +45,6 @@

#if defined(__GNUC__)
#define SB_IS_COMPILER_GCC 1
#elif defined(_MSC_VER)
#define SB_IS_COMPILER_MSVC 1
#endif

// --- Common Helper Macros --------------------------------------------------
Expand Down
20 changes: 0 additions & 20 deletions starboard/elf_loader/exported_symbols.cc
Original file line number Diff line number Diff line change
Expand Up @@ -153,25 +153,14 @@ ExportedSymbols::ExportedSymbols() {
REGISTER_SYMBOL(SbSocketConnect);
REGISTER_SYMBOL(SbSocketCreate);
REGISTER_SYMBOL(SbSocketDestroy);
REGISTER_SYMBOL(SbSocketFreeResolution);
REGISTER_SYMBOL(SbSocketGetInterfaceAddress);
REGISTER_SYMBOL(SbSocketGetLastError);
REGISTER_SYMBOL(SbSocketGetLocalAddress);
REGISTER_SYMBOL(SbSocketIsConnected);
REGISTER_SYMBOL(SbSocketIsConnectedAndIdle);
REGISTER_SYMBOL(SbSocketIsIpv6Supported);
REGISTER_SYMBOL(SbSocketJoinMulticastGroup);
REGISTER_SYMBOL(SbSocketListen);
REGISTER_SYMBOL(SbSocketReceiveFrom);
REGISTER_SYMBOL(SbSocketResolve);
REGISTER_SYMBOL(SbSocketSendTo);
REGISTER_SYMBOL(SbSocketSetBroadcast);
REGISTER_SYMBOL(SbSocketSetReceiveBufferSize);
REGISTER_SYMBOL(SbSocketSetReuseAddress);
REGISTER_SYMBOL(SbSocketSetSendBufferSize);
REGISTER_SYMBOL(SbSocketSetTcpKeepAlive);
REGISTER_SYMBOL(SbSocketSetTcpNoDelay);
REGISTER_SYMBOL(SbSocketSetTcpWindowScaling);
REGISTER_SYMBOL(SbSocketWaiterAdd);
REGISTER_SYMBOL(SbSocketWaiterCreate);
REGISTER_SYMBOL(SbSocketWaiterDestroy);
Expand Down Expand Up @@ -387,16 +376,7 @@ ExportedSymbols::ExportedSymbols() {
map_["getifaddrs"] = reinterpret_cast<const void*>(&__abi_wrap_getifaddrs);
map_["setsockopt"] = reinterpret_cast<const void*>(&__abi_wrap_setsockopt);

#if defined(_MSC_VER)
// MSVC provides a template with the same name.
// The cast helps the compiler to pick the correct C function pointer to be
// used.
REGISTER_SYMBOL(
static_cast<int (*)(wchar_t* buffer, size_t count, const wchar_t* format,
va_list argptr)>(vswprintf));
#else
REGISTER_SYMBOL(vswprintf);
#endif // defined(_MSC_VER)

} // NOLINT

Expand Down
11 changes: 0 additions & 11 deletions starboard/linux/shared/BUILD.gn
Original file line number Diff line number Diff line change
Expand Up @@ -162,25 +162,14 @@ static_library("starboard_platform_sources") {
"//starboard/shared/posix/socket_connect.cc",
"//starboard/shared/posix/socket_create.cc",
"//starboard/shared/posix/socket_destroy.cc",
"//starboard/shared/posix/socket_free_resolution.cc",
"//starboard/shared/posix/socket_get_last_error.cc",
"//starboard/shared/posix/socket_get_local_address.cc",
"//starboard/shared/posix/socket_internal.cc",
"//starboard/shared/posix/socket_is_connected.cc",
"//starboard/shared/posix/socket_is_connected_and_idle.cc",
"//starboard/shared/posix/socket_is_ipv6_supported.cc",
"//starboard/shared/posix/socket_join_multicast_group.cc",
"//starboard/shared/posix/socket_listen.cc",
"//starboard/shared/posix/socket_receive_from.cc",
"//starboard/shared/posix/socket_resolve.cc",
"//starboard/shared/posix/socket_send_to.cc",
"//starboard/shared/posix/socket_set_broadcast.cc",
"//starboard/shared/posix/socket_set_receive_buffer_size.cc",
"//starboard/shared/posix/socket_set_reuse_address.cc",
"//starboard/shared/posix/socket_set_send_buffer_size.cc",
"//starboard/shared/posix/socket_set_tcp_keep_alive.cc",
"//starboard/shared/posix/socket_set_tcp_no_delay.cc",
"//starboard/shared/posix/socket_set_tcp_window_scaling.cc",
"//starboard/shared/posix/storage_write_record.cc",
"//starboard/shared/posix/system_break_into_debugger.cc",
"//starboard/shared/posix/system_clear_last_error.cc",
Expand Down
Loading

0 comments on commit 8de28e0

Please sign in to comment.