{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":47219545,"defaultBranch":"main","name":"gstreamer","ownerLogin":"GStreamer","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2015-12-01T21:49:40.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/14967102?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1714439501.0","currentOid":""},"activityList":{"items":[{"before":"decc5af69fc39396760ab0b92d1c7adb6312036e","after":"85c838d881d5c18220c6b7983fcb2881180bb0ff","ref":"refs/heads/1.22","pushedAt":"2024-05-25T17:48:42.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"hubot","name":"Hubot","path":"/hubot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/480938?s=80&v=4"},"commit":{"message":"dtlsconnection: Fix overflow in timeout calculation on systems with 32 bit time_t\n\nIf a timeout of more than 4295s was scheduled, the calculation would\noverflow and a too short timeout would be used instead.\n\nPart-of: ","shortMessageHtmlLink":"dtlsconnection: Fix overflow in timeout calculation on systems with 3…"}},{"before":"4116127217b59c2808981e57ae1f66e1aaf90e92","after":"b77de8f6f2d566db8c772e501b3e69b67b431c1c","ref":"refs/heads/1.24","pushedAt":"2024-05-25T09:08:43.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"hubot","name":"Hubot","path":"/hubot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/480938?s=80&v=4"},"commit":{"message":"dtlsconnection: Fix overflow in timeout calculation on systems with 32 bit time_t\n\nIf a timeout of more than 4295s was scheduled, the calculation would\noverflow and a too short timeout would be used instead.\n\nPart-of: ","shortMessageHtmlLink":"dtlsconnection: Fix overflow in timeout calculation on systems with 3…"}},{"before":"e7e6472a315881d534b382e0a8b306a00d1a864d","after":"4116127217b59c2808981e57ae1f66e1aaf90e92","ref":"refs/heads/1.24","pushedAt":"2024-05-25T08:16:43.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"hubot","name":"Hubot","path":"/hubot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/480938?s=80&v=4"},"commit":{"message":"clock: Fix 32 bit assertions in GST_TIME_TO_TIMEVAL and GST_TIME_TO_TIMESPEC\n\nOn various 32 bit systems, time_t is actually 64 bits while long is\nstill only 32 bits. The macro would wrongly trigger its assertion in\nthis case if a value with more than 68 years worth of seconds is\nconverted.\n\nExamples are various newer 32 bit platforms and old ones that are\ncompiled with -D_TIME_BITS=64.\n\nAlso statically assert that time_t is either 32 or 64 bits. Other values\nmight need adjustments in the macro.\n\nPart-of: ","shortMessageHtmlLink":"clock: Fix 32 bit assertions in GST_TIME_TO_TIMEVAL and GST_TIME_TO_T…"}},{"before":"84aecab150bc0fee53f0985a2eeb62c9874d217a","after":"ecf852d5295328ed5926164c94a0a7b857f0c49a","ref":"refs/heads/main","pushedAt":"2024-05-25T07:24:43.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"hubot","name":"Hubot","path":"/hubot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/480938?s=80&v=4"},"commit":{"message":"vulkanh264dec: code style fix\n\nPart-of: ","shortMessageHtmlLink":"vulkanh264dec: code style fix"}},{"before":"c051982c0fa3dd50c63c1d1a16abd387599b1e0b","after":"84aecab150bc0fee53f0985a2eeb62c9874d217a","ref":"refs/heads/main","pushedAt":"2024-05-24T17:06:47.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"hubot","name":"Hubot","path":"/hubot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/480938?s=80&v=4"},"commit":{"message":"d3d12videosink: Add overlay signal to support d3d12/d3d11/d2d overlay\n\nConceptually identical to the present signal of d3d11videosink.\nThis signal will be emitted with current render target\n(i.e., swapchain backbuffer) and command queue. Signal handler\ncan record GPU commands for an overlay image or to blend\nan image to the render target.\n\nIn addition to d3d12 resources, videosink will send\nd3d11 and d2d resources depending on \"overlay-mode\"\nproperty, so that signal handler can render by using\npreferred/required DirectX API.\n\nPart-of: ","shortMessageHtmlLink":"d3d12videosink: Add overlay signal to support d3d12/d3d11/d2d overlay"}},{"before":"562cecaef4203a9920ce86b5e31f6c9b7e9db4e7","after":"c051982c0fa3dd50c63c1d1a16abd387599b1e0b","ref":"refs/heads/main","pushedAt":"2024-05-24T12:46:46.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"hubot","name":"Hubot","path":"/hubot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/480938?s=80&v=4"},"commit":{"message":"dtlsconnection: Fix overflow in timeout calculation on systems with 32 bit time_t\n\nIf a timeout of more than 4295s was scheduled, the calculation would\noverflow and a too short timeout would be used instead.\n\nPart-of: ","shortMessageHtmlLink":"dtlsconnection: Fix overflow in timeout calculation on systems with 3…"}},{"before":"d1c81cbd79a92f3c24f76c9690c4860135b5efa6","after":"562cecaef4203a9920ce86b5e31f6c9b7e9db4e7","ref":"refs/heads/main","pushedAt":"2024-05-24T11:54:50.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"hubot","name":"Hubot","path":"/hubot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/480938?s=80&v=4"},"commit":{"message":"clock: Fix 32 bit assertions in GST_TIME_TO_TIMEVAL and GST_TIME_TO_TIMESPEC\n\nOn various 32 bit systems, time_t is actually 64 bits while long is\nstill only 32 bits. The macro would wrongly trigger its assertion in\nthis case if a value with more than 68 years worth of seconds is\nconverted.\n\nExamples are various newer 32 bit platforms and old ones that are\ncompiled with -D_TIME_BITS=64.\n\nAlso statically assert that time_t is either 32 or 64 bits. Other values\nmight need adjustments in the macro.\n\nPart-of: ","shortMessageHtmlLink":"clock: Fix 32 bit assertions in GST_TIME_TO_TIMEVAL and GST_TIME_TO_T…"}},{"before":"8bd1a3213e0a9a58346afa3c3e27fbe5cbe5fa22","after":"d1c81cbd79a92f3c24f76c9690c4860135b5efa6","ref":"refs/heads/main","pushedAt":"2024-05-24T07:34:50.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"hubot","name":"Hubot","path":"/hubot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/480938?s=80&v=4"},"commit":{"message":"glcolorconvert: traverse all structures in caps when transform_caps\n\nThis is used to avoid negotiation failure between glcolorconvert\nand downstream element.\n\nPart-of: ","shortMessageHtmlLink":"glcolorconvert: traverse all structures in caps when transform_caps"}},{"before":"75ad05b518160bc54f00594b9035017d952401e1","after":"e7e6472a315881d534b382e0a8b306a00d1a864d","ref":"refs/heads/1.24","pushedAt":"2024-05-23T23:46:41.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"hubot","name":"Hubot","path":"/hubot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/480938?s=80&v=4"},"commit":{"message":"kmssink: Do not close the DRM prime handle twice\n\nThe prime_fds for multi planes may be the same. For example, on Intel's\nplatform, the NV12 surface may have the same FD for the plane0 and the\nplane1. Then, the DRM_IOCTL_GEM_CLOSE will close the same handle twice\nand get an \"Invalid argument 22\" error the second time.\n\nPart-of: ","shortMessageHtmlLink":"kmssink: Do not close the DRM prime handle twice"}},{"before":"1b191d1d8db8df215da0dcd43c6644fcbef55e3f","after":"75ad05b518160bc54f00594b9035017d952401e1","ref":"refs/heads/1.24","pushedAt":"2024-05-23T23:20:42.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"hubot","name":"Hubot","path":"/hubot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/480938?s=80&v=4"},"commit":{"message":"wayland: Use wl_display_create_queue_with_name\n\nWayland 1.23 and above allow us to attach names to an event queue, which\nare printed out when debugging. Do this to make the logs easier to read.\n\nPart-of: ","shortMessageHtmlLink":"wayland: Use wl_display_create_queue_with_name"}},{"before":"ea0dce26e0991e7fcf04cb1fecb2d9ae6b2955f4","after":"8bd1a3213e0a9a58346afa3c3e27fbe5cbe5fa22","ref":"refs/heads/main","pushedAt":"2024-05-23T22:28:42.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"hubot","name":"Hubot","path":"/hubot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/480938?s=80&v=4"},"commit":{"message":"level: fix old \"message\" property doc chunk\n\nIn the online documentation the new post-messages\nproperty would show up as deprecated refering to\nitself.\n\nFixes #3561\n\nPart-of: ","shortMessageHtmlLink":"level: fix old \"message\" property doc chunk"}},{"before":"e913b4870a8792a1febb869490494760cb98e1a9","after":"ea0dce26e0991e7fcf04cb1fecb2d9ae6b2955f4","ref":"refs/heads/main","pushedAt":"2024-05-23T20:44:42.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"hubot","name":"Hubot","path":"/hubot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/480938?s=80&v=4"},"commit":{"message":"kmssink: Do not close the DRM prime handle twice\n\nThe prime_fds for multi planes may be the same. For example, on Intel's\nplatform, the NV12 surface may have the same FD for the plane0 and the\nplane1. Then, the DRM_IOCTL_GEM_CLOSE will close the same handle twice\nand get an \"Invalid argument 22\" error the second time.\n\nPart-of: ","shortMessageHtmlLink":"kmssink: Do not close the DRM prime handle twice"}},{"before":"417e784463609c13e6a090228b2288dcd91b5f9d","after":"e913b4870a8792a1febb869490494760cb98e1a9","ref":"refs/heads/main","pushedAt":"2024-05-23T19:52:43.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"hubot","name":"Hubot","path":"/hubot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/480938?s=80&v=4"},"commit":{"message":"vkformat: try UNORM format first and decouple them from colorimetry\n\nFrom the spec (chapter 34, v1.3.283):\n\n````\nUNORM: the components are unsigned normalized values in the range [0, 1]\n\nSRGB: the R, G and B components are unsigned normalized value that represent\n values using sRGB nonlinear encoding, while the A component (if one\n exists) is a regular unsigned normalized value\n```\n\nThe difference is the storage encoding, the first one is aimed for image\ntransfers, while the second is for shaders, mostly in the swapchain stage in the\npipeline, and it's done automatically if needed [1].\n\nAs far as I have checked, other frameworks (FFmpeg, GTK+), when import or export\nimages from/to Vulkan, use exclusively UNORM formats, while SRGB formats are\nignored.\n\nMy conclusion is that Vulkan formats are related on how bits are stored in\nmemory rather their transfer functions (colorimetry).\n\nThis patch does two interrelated changes:\n\n1. It swaps certain color format maps to try first, in both\ngst_vulkan_format_from_video_info() and gst_vulkan_format_from_video_info_2(),\nthe UNORM formats, when comparing its usage, and later check for SRGB.\n\n2. It removes the code that check for colorimetry in\ngst_vulkan_format_from_video_info_2(), since it not storage related.\n\n1. https://community.khronos.org/t/noob-difference-between-unorm-and-srgb/106132/7\n\nPart-of: ","shortMessageHtmlLink":"vkformat: try UNORM format first and decouple them from colorimetry"}},{"before":"607dadbc53d4493b12650b076a5f102373cc544e","after":"1b191d1d8db8df215da0dcd43c6644fcbef55e3f","ref":"refs/heads/1.24","pushedAt":"2024-05-23T17:42:43.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"hubot","name":"Hubot","path":"/hubot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/480938?s=80&v=4"},"commit":{"message":"streamsynchronizer: Fix deadlock when streams have been flushed before others start\n\nTo simplify the description, I'm assuming we only have two streams: video and audio.\n\nFor the video stream, we have the following events :\n- STREAM_START => stream->wait set to true\n- NEW_SEGMENT(1) => blocked waiting in gst_stream_synchronizer_wait\n- FLUSH_START => unblocked\n- FLUSH_STOP => stream->wait reset to false\n- NEW_SEGMENT(2) => not waiting, since stream->wait is false\n\nThen for the audio stream, we have the following events :\n- STREAM_START => stream->wait set to true\n- NEW_SEGMENT(2) => blocked waiting in gst_stream_synchronizer_wait for ever.\n\nNote: The first NEW_SEGMENT event and the FLUSH_START, FLUSH_STOP events of the audio stream\nare dropped before being received by the streamsynchronizer element, because the decodebin audio pad src\nis not yet linked to the playsink audio pad sink.\n\nTo fix this deadlock, we don't reset stream->wait to false in the FLUSH_STOP event when it is not\nwaiting for the EOS of the other streams.\n\nPart-of: ","shortMessageHtmlLink":"streamsynchronizer: Fix deadlock when streams have been flushed befor…"}},{"before":"2f2279abf411dbf5a8965a87c9e0d5ac0211c3bb","after":"417e784463609c13e6a090228b2288dcd91b5f9d","ref":"refs/heads/main","pushedAt":"2024-05-23T17:16:42.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"hubot","name":"Hubot","path":"/hubot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/480938?s=80&v=4"},"commit":{"message":"Revert \"tests/d3d11: add concurrency test for gstd3d11device\"\n\nThis reverts commit 8e0046a738070ca3c5441222da241a0582103fe7.\n\nPart-of: ","shortMessageHtmlLink":"Revert \"tests/d3d11: add concurrency test for gstd3d11device\""}},{"before":"7526919fb3f88f5ea05c1a2990db52e4f26865cc","after":"607dadbc53d4493b12650b076a5f102373cc544e","ref":"refs/heads/1.24","pushedAt":"2024-05-23T17:16:42.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"hubot","name":"Hubot","path":"/hubot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/480938?s=80&v=4"},"commit":{"message":"Revert \"tests/d3d11: add concurrency test for gstd3d11device\"\n\nThis reverts commit 203f6b00d426b2ef296fbe8b6591e07b9d6f9b7e.\n\nRevert test that was added with reverted commit as well.\n\nPart-of: ","shortMessageHtmlLink":"Revert \"tests/d3d11: add concurrency test for gstd3d11device\""}},{"before":"9a9650aeb2ed5e0a1905216ca0a8cfe72b50fe28","after":"7526919fb3f88f5ea05c1a2990db52e4f26865cc","ref":"refs/heads/1.24","pushedAt":"2024-05-23T16:50:47.000Z","pushType":"push","commitsCount":6,"pusher":{"login":"hubot","name":"Hubot","path":"/hubot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/480938?s=80&v=4"},"commit":{"message":"vah265enc: Let FORCE_KEYFRAME be IDR frame rather than just I frame\n\nThe FORCE_KEYFRAME frame which has GST_VIDEO_CODEC_FRAME_FLAG_FORCE_KEYFRAME\nbit set should be the sync point. So we should let it be an IDR frame to begin\na new GOP, rather than just promote it to an I frame.\n\nPart-of: ","shortMessageHtmlLink":"vah265enc: Let FORCE_KEYFRAME be IDR frame rather than just I frame"}},{"before":"e813ea8367d46590d9a81b546fa41ef1483b3c65","after":"2f2279abf411dbf5a8965a87c9e0d5ac0211c3bb","ref":"refs/heads/main","pushedAt":"2024-05-23T15:06:43.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"hubot","name":"Hubot","path":"/hubot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/480938?s=80&v=4"},"commit":{"message":"wayland: Use wl_display_create_queue_with_name\n\nWayland 1.23 and above allow us to attach names to an event queue, which\nare printed out when debugging. Do this to make the logs easier to read.\n\nPart-of: ","shortMessageHtmlLink":"wayland: Use wl_display_create_queue_with_name"}},{"before":"620d5cb5d64fe2211da30acaced02b42a403967d","after":"9a9650aeb2ed5e0a1905216ca0a8cfe72b50fe28","ref":"refs/heads/1.24","pushedAt":"2024-05-23T13:48:49.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"hubot","name":"Hubot","path":"/hubot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/480938?s=80&v=4"},"commit":{"message":"cudamemory: Fix offset of subsampled planar formats\n\nPart-of: ","shortMessageHtmlLink":"cudamemory: Fix offset of subsampled planar formats"}},{"before":"fece9235a297c5de43517b312d35a5270c725712","after":"e813ea8367d46590d9a81b546fa41ef1483b3c65","ref":"refs/heads/main","pushedAt":"2024-05-23T12:56:44.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"hubot","name":"Hubot","path":"/hubot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/480938?s=80&v=4"},"commit":{"message":"cudamemory: Fix offset of subsampled planar formats\n\nPart-of: ","shortMessageHtmlLink":"cudamemory: Fix offset of subsampled planar formats"}},{"before":"36a2eb0f038f21a8ad142938aa83f749f126df07","after":"620d5cb5d64fe2211da30acaced02b42a403967d","ref":"refs/heads/1.24","pushedAt":"2024-05-23T12:04:43.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"hubot","name":"Hubot","path":"/hubot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/480938?s=80&v=4"},"commit":{"message":"av1enc: Use 1/90000 as timebase and don't use the framerate at all\n\nThis mirrors the behaviour in vp8enc / vp9enc and is generally more\nuseful than using any framerate from the caps as it provides some degree\nof accuracy if the stream doesn't have timestamps perfectly according to\nthe framerate.\n\nPart-of: ","shortMessageHtmlLink":"av1enc: Use 1/90000 as timebase and don't use the framerate at all"}},{"before":"a746376e3fcdca91a20eff060d667dba213789e9","after":"decc5af69fc39396760ab0b92d1c7adb6312036e","ref":"refs/heads/1.22","pushedAt":"2024-05-23T11:12:43.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"hubot","name":"Hubot","path":"/hubot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/480938?s=80&v=4"},"commit":{"message":"gtk: Fail initialization of the sink if GTK4 is already initialized in the same process\n\nInitializing GTK3 and GTK4 in the same process does not work and is not\nsupported.\n\nPart-of: ","shortMessageHtmlLink":"gtk: Fail initialization of the sink if GTK4 is already initialized i…"}},{"before":"cdaf50de8f997fa4eb6250490414320fa8737c9d","after":"36a2eb0f038f21a8ad142938aa83f749f126df07","ref":"refs/heads/1.24","pushedAt":"2024-05-23T10:46:47.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"hubot","name":"Hubot","path":"/hubot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/480938?s=80&v=4"},"commit":{"message":"gtk: Fail initialization of the sink if GTK4 is already initialized in the same process\n\nInitializing GTK3 and GTK4 in the same process does not work and is not\nsupported.\n\nPart-of: ","shortMessageHtmlLink":"gtk: Fail initialization of the sink if GTK4 is already initialized i…"}},{"before":"cd606696a6e0503b376c6621dce5748314b594c4","after":"fece9235a297c5de43517b312d35a5270c725712","ref":"refs/heads/main","pushedAt":"2024-05-23T10:20:44.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"hubot","name":"Hubot","path":"/hubot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/480938?s=80&v=4"},"commit":{"message":"av1enc: Add timebase property to allow configuring a specific timebase\n\nThis mirrors the same property in vp8enc / vp9enc.\n\nPart-of: ","shortMessageHtmlLink":"av1enc: Add timebase property to allow configuring a specific timebase"}},{"before":"1a8e7aa92dc1efcde340674c8778baa10b71b8aa","after":"cd606696a6e0503b376c6621dce5748314b594c4","ref":"refs/heads/main","pushedAt":"2024-05-23T09:28:44.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"hubot","name":"Hubot","path":"/hubot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/480938?s=80&v=4"},"commit":{"message":"gtk: Fail initialization of the sink if GTK4 is already initialized in the same process\n\nInitializing GTK3 and GTK4 in the same process does not work and is not\nsupported.\n\nPart-of: ","shortMessageHtmlLink":"gtk: Fail initialization of the sink if GTK4 is already initialized i…"}},{"before":"0f8b599ded000f553fa39b3395ce4a6bfc5cc951","after":"1a8e7aa92dc1efcde340674c8778baa10b71b8aa","ref":"refs/heads/main","pushedAt":"2024-05-23T07:44:43.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"hubot","name":"Hubot","path":"/hubot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/480938?s=80&v=4"},"commit":{"message":"bufferlist: get() is not actually nullable in its return value\n\nPassing an out of bounds index is the only way to get a NULL buffer but\nthis causes an assertion so is not to be considered for the\nannotations.\n\nPart-of: ","shortMessageHtmlLink":"bufferlist: get() is not actually nullable in its return value"}},{"before":"477beab403e13cdc36b89138cccfe9481c3c820f","after":"0f8b599ded000f553fa39b3395ce4a6bfc5cc951","ref":"refs/heads/main","pushedAt":"2024-05-23T06:00:43.000Z","pushType":"push","commitsCount":6,"pusher":{"login":"hubot","name":"Hubot","path":"/hubot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/480938?s=80&v=4"},"commit":{"message":"glcolorconvert: handle rectangle textures for v210/UYVY/YUY2\n\nPart-of: ","shortMessageHtmlLink":"glcolorconvert: handle rectangle textures for v210/UYVY/YUY2"}},{"before":"47afb4564ba4bbc55d6e2bd608fab4b17440add6","after":"cdaf50de8f997fa4eb6250490414320fa8737c9d","ref":"refs/heads/1.24","pushedAt":"2024-05-22T11:48:43.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"hubot","name":"Hubot","path":"/hubot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/480938?s=80&v=4"},"commit":{"message":"osxaudio: Avoid using private APIs on iOS\n\nTurns out AudioConvertHostTimeToNanos and AudioGetCurrentHostTime are macOS-only APIs, which prevents apps using\nGStreamer on iOS from being accepted into App Store.\n\nThis commit replaces those functions with a manual version of what they do - mach_absolute_time() for the current time,\nand data from mach_timebase_info() at the beginning to convert host timestamps to nanoseconds.\n\nPart-of: ","shortMessageHtmlLink":"osxaudio: Avoid using private APIs on iOS"}},{"before":"2dd4a7c6df68742fcabf86803a986ef769ae6fd6","after":"477beab403e13cdc36b89138cccfe9481c3c820f","ref":"refs/heads/main","pushedAt":"2024-05-22T10:04:55.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"hubot","name":"Hubot","path":"/hubot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/480938?s=80&v=4"},"commit":{"message":"osxaudio: Avoid using private APIs on iOS\n\nTurns out AudioConvertHostTimeToNanos and AudioGetCurrentHostTime are macOS-only APIs, which prevents apps using\nGStreamer on iOS from being accepted into App Store.\n\nThis commit replaces those functions with a manual version of what they do - mach_absolute_time() for the current time,\nand data from mach_timebase_info() at the beginning to convert host timestamps to nanoseconds.\n\nPart-of: ","shortMessageHtmlLink":"osxaudio: Avoid using private APIs on iOS"}},{"before":"2f03afd8ba46ede9cd22a3fefbae89d26aae3fcf","after":"2dd4a7c6df68742fcabf86803a986ef769ae6fd6","ref":"refs/heads/main","pushedAt":"2024-05-22T08:46:52.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"hubot","name":"Hubot","path":"/hubot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/480938?s=80&v=4"},"commit":{"message":"autovideoconvert: fix double unref\n\nPart-of: ","shortMessageHtmlLink":"autovideoconvert: fix double unref"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEU9Cm7wA","startCursor":null,"endCursor":null}},"title":"Activity · GStreamer/gstreamer"}