[packages/obs-studio] - add missing BR and more formatting fixes for x32

baggins baggins at pld-linux.org
Thu Dec 26 23:36:04 CET 2024


commit e87d0fcb8856fb08062e9d5b96f129a803446911
Author: Jan Rękorajski <baggins at pld-linux.org>
Date:   Fri Dec 27 00:35:37 2024 +0100

    - add missing BR and more formatting fixes for x32

 obs-studio.spec |   1 +
 x32.patch       | 181 +++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 2 files changed, 181 insertions(+), 1 deletion(-)
---
diff --git a/obs-studio.spec b/obs-studio.spec
index a5cac5e..8db3772 100644
--- a/obs-studio.spec
+++ b/obs-studio.spec
@@ -54,6 +54,7 @@ BuildRequires:	libxcb-devel
 BuildRequires:	luajit-devel
 %endif
 BuildRequires:	mbedtls-devel
+BuildRequires:	nv-codec-headers
 BuildRequires:	pciutils-devel
 BuildRequires:	pipewire-devel >= 0.3.33
 BuildRequires:	pkgconfig
diff --git a/x32.patch b/x32.patch
index 75f70b1..43a5e96 100644
--- a/x32.patch
+++ b/x32.patch
@@ -5,10 +5,189 @@
  		}
  
 +#if defined(__x86_64__) && defined(__ILP32__)
-+		blog(LOG_DEBUG, "%s: ts: %0al6ld buf id #%d, flags 0x%08X, seq #%d, len %d, used %d", data->device_id,
++		blog(LOG_DEBUG, "%s: ts: %06lld buf id #%d, flags 0x%08X, seq #%d, len %d, used %d", data->device_id,
 +#else
  		blog(LOG_DEBUG, "%s: ts: %06ld buf id #%d, flags 0x%08X, seq #%d, len %d, used %d", data->device_id,
 +#endif
  		     buf.timestamp.tv_usec, buf.index, buf.flags, buf.sequence, buf.length, buf.bytesused);
  
  		out.timestamp = timeval2ns(buf.timestamp);
+--- obs-studio-31.0.0/libobs/obs-output.c.orig	2024-12-26 23:35:00.153332094 +0100
++++ obs-studio-31.0.0/libobs/obs-output.c	2024-12-26 23:36:56.276665465 +0100
+@@ -1494,7 +1494,11 @@
+ 
+ 	struct caption_track_data *ctrack = output->caption_tracks[out->track_idx];
+ 	if (!ctrack) {
++#if defined(__x86_64__) && defined(__ILP32__)
++		blog(LOG_DEBUG, "Caption track for index: %u has not been initialized", out->track_idx);
++#else
+ 		blog(LOG_DEBUG, "Caption track for index: %lu has not been initialized", out->track_idx);
++#endif
+ 		return false;
+ 	}
+ 
+@@ -1702,12 +1706,20 @@
+ 				}
+ 			}
+ 			if (found_ept == false) {
++#if defined(__x86_64__) && defined(__ILP32__)
++				blog(LOG_DEBUG, "%s: Track %u encoder packet timing for PTS%" PRId64 " not found.",
++#else
+ 				blog(LOG_DEBUG, "%s: Track %lu encoder packet timing for PTS%" PRId64 " not found.",
++#endif
+ 				     __FUNCTION__, out.track_idx, out.pts);
+ 			}
+ 		} else {
+ 			// encoder_packet_times should not be empty; log if so.
++#if defined(__x86_64__) && defined(__ILP32__)
++			blog(LOG_DEBUG, "%s: Track %u encoder packet timing array empty.", __FUNCTION__,
++#else
+ 			blog(LOG_DEBUG, "%s: Track %lu encoder packet timing array empty.", __FUNCTION__,
++#endif
+ 			     out.track_idx);
+ 		}
+ 	}
+--- obs-studio-31.0.0/plugins/obs-nvenc/nvenc.c.orig	2024-12-26 23:55:28.883332170 +0100
++++ obs-studio-31.0.0/plugins/obs-nvenc/nvenc.c	2024-12-26 23:59:49.099998914 +0100
+@@ -378,9 +378,17 @@
+ 	if (vbr)
+ 		dstr_catf(&log, "\tmax_bitrate:  %d\n", max_bitrate);
+ 	if (cqp)
++#if defined(__x86_64__) && defined(__ILP32__)
++		dstr_catf(&log, "\tcqp:          %lld\n", enc->props.cqp);
++#else	
+ 		dstr_catf(&log, "\tcqp:          %ld\n", enc->props.cqp);
++#endif
+ 	if (cqvbr) {
++#if defined(__x86_64__) && defined(__ILP32__)
++		dstr_catf(&log, "\tcq:           %lld\n", enc->props.target_quality);
++#else	
+ 		dstr_catf(&log, "\tcq:           %ld\n", enc->props.target_quality);
++#endif
+ 	}
+ 
+ 	dstr_catf(&log, "\tkeyint:       %d\n", gop_size);
+@@ -390,13 +398,22 @@
+ 	dstr_catf(&log, "\tprofile:      %s\n", enc->props.profile);
+ 	dstr_catf(&log, "\twidth:        %d\n", enc->cx);
+ 	dstr_catf(&log, "\theight:       %d\n", enc->cy);
++#if defined(__x86_64__) && defined(__ILP32__)
++	dstr_catf(&log, "\tb-frames:     %lld\n", enc->props.bf);
++	dstr_catf(&log, "\tb-ref-mode:   %lld\n", enc->props.bframe_ref_mode);
++#else	
+ 	dstr_catf(&log, "\tb-frames:     %ld\n", enc->props.bf);
+ 	dstr_catf(&log, "\tb-ref-mode:   %ld\n", enc->props.bframe_ref_mode);
++#endif
+ 	dstr_catf(&log, "\tlookahead:    %s (%d frames)\n", lookahead ? "true" : "false", rc_lookahead);
+ 	dstr_catf(&log, "\taq:           %s\n", enc->props.adaptive_quantization ? "true" : "false");
+ 
+ 	if (enc->props.split_encode) {
++#if defined(__x86_64__) && defined(__ILP32__)
++		dstr_catf(&log, "\tsplit encode: %lld\n", enc->props.split_encode);
++#else	
+ 		dstr_catf(&log, "\tsplit encode: %ld\n", enc->props.split_encode);
++#endif
+ 	}
+ 	if (enc->props.opts.count)
+ 		dstr_catf(&log, "\tuser opts:    %s\n", enc->props.opts_str);
+--- obs-studio-31.0.0/plugins/obs-qsv11/common_utils_linux.cpp.orig	2024-12-07 00:21:55.000000000 +0100
++++ obs-studio-31.0.0/plugins/obs-qsv11/common_utils_linux.cpp	2024-12-27 00:01:45.876665615 +0100
+@@ -509,7 +509,11 @@
+ 	obs_enter_graphics();
+ 	uint32_t gs_count = gs_get_adapter_count();
+ 	if (*adapter_count < gs_count) {
++#if defined(__x86_64__) && defined(__ILP32__)
++		blog(LOG_WARNING, "Too many video adapters: %d < %d", *adapter_count, gs_count);
++#else
+ 		blog(LOG_WARNING, "Too many video adapters: %ld < %d", *adapter_count, gs_count);
++#endif
+ 		obs_leave_graphics();
+ 		return;
+ 	}
+--- obs-studio-31.0.0/UI/obs-app-theming.cpp.orig	2024-12-27 00:19:42.779999070 +0100
++++ obs-studio-31.0.0/UI/obs-app-theming.cpp	2024-12-27 00:24:51.099999085 +0100
+@@ -555,7 +555,11 @@
+ 
+ 	QStringList args = var.value.toStringList();
+ 	if (args.length() != 3) {
++#if defined(__x86_64__) && defined(__ILP32__)
++		blog(LOG_ERROR, "calc() had invalid number of arguments: %d (%s)", args.length(),
++#else
+ 		blog(LOG_ERROR, "calc() had invalid number of arguments: %lld (%s)", args.length(),
++#endif
+ 		     QT_TO_UTF8(args.join(", ")));
+ 		return "'Invalid expression'";
+ 	}
+--- obs-studio-31.0.0/shared/bpm/bpm.c.org	2024-12-27 00:27:44.626665761 +0100
++++ obs-studio-31.0.0/shared/bpm/bpm.c	2024-12-27 00:13:58.196665720 +0100
+@@ -9,7 +9,11 @@
+ 	 */
+ 	memset(&m_time->rfc3339_str, 0, sizeof(m_time->rfc3339_str));
+ 	strftime(m_time->rfc3339_str, sizeof(m_time->rfc3339_str), "%Y-%m-%dT%T", gmtime(&m_time->tspec.tv_sec));
++#if defined(__x86_64__) && defined(__ILP32__)
++	sprintf(m_time->rfc3339_str + strlen(m_time->rfc3339_str), ".%03lldZ", m_time->tspec.tv_nsec / 1000000);
++#else
+ 	sprintf(m_time->rfc3339_str + strlen(m_time->rfc3339_str), ".%03ldZ", m_time->tspec.tv_nsec / 1000000);
++#endif
+ 	m_time->valid = true;
+ }
+ 
+@@ -17,7 +21,11 @@
+ 			   const struct encoder_packet_time *ept, struct metrics_data *m_track)
+ {
+ 	if (!output || !pkt || !ept || !m_track) {
++#if defined(__x86_64__) && defined(__ILP32__)
++		blog(LOG_DEBUG, "%s: Null arguments for track %u", __FUNCTION__, pkt->track_idx);
++#else
+ 		blog(LOG_DEBUG, "%s: Null arguments for track %lu", __FUNCTION__, pkt->track_idx);
++#endif
+ 		return false;
+ 	}
+ 
+@@ -118,7 +126,11 @@
+ 	 * with "--verbose" and "--unfiltered_log".
+ 	 */
+ 	blog(LOG_DEBUG,
++#if defined(__x86_64__) && defined(__ILP32__)
++	     "BPM: %s, trk %u: [CTS|FER-CTS|FERC-FER|PIR-CTS]:[%" PRIu64 " ms|%" PRIu64 " ms|%" PRIu64 " us|%" PRIu64
++#else
+ 	     "BPM: %s, trk %lu: [CTS|FER-CTS|FERC-FER|PIR-CTS]:[%" PRIu64 " ms|%" PRIu64 " ms|%" PRIu64 " us|%" PRIu64
++#endif
+ 	     " ms], [dts|pts]:[%" PRId64 "|%" PRId64 "], S[R:O:D:L],R[I:S:O]:%d:%d:%d:%d:%d:%d:%d",
+ 	     obs_encoder_get_name(pkt->encoder), pkt->track_idx, ept->cts / 1000000, (ept->fer - ept->cts) / 1000000,
+ 	     (ept->ferc - ept->fer) / 1000, (ept->pir - ept->cts) / 1000000, pkt->dts, pkt->pts,
+@@ -323,14 +335,22 @@
+ 	bool av1 = false;
+ 
+ 	if (!m_track) {
++#if defined(__x86_64__) && defined(__ILP32__)
++		blog(LOG_DEBUG, "Metrics track for index: %u had not be initialized", out->track_idx);
++#else
+ 		blog(LOG_DEBUG, "Metrics track for index: %lu had not be initialized", out->track_idx);
++#endif
+ 		return false;
+ 	}
+ 
+ 	// Update the metrics for this track
+ 	if (!update_metrics(output, out, ept, m_track)) {
+ 		// Something went wrong; log it and return
++#if defined(__x86_64__) && defined(__ILP32__)
++		blog(LOG_DEBUG, "update_metrics() for track index: %u failed", out->track_idx);
++#else
+ 		blog(LOG_DEBUG, "update_metrics() for track index: %lu failed", out->track_idx);
++#endif
+ 		return false;
+ 	}
+ 
+@@ -569,7 +589,11 @@
+ 	if (pkt->type == OBS_ENCODER_VIDEO && pkt->keyframe) {
+ 		/* Video packet must have pkt_timing supplied for BPM */
+ 		if (!pkt_time) {
++#if defined(__x86_64__) && defined(__ILP32__)
++			blog(LOG_DEBUG, "%s: Packet timing missing for track %d, PTS %" PRId64, __FUNCTION__,
++#else
+ 			blog(LOG_DEBUG, "%s: Packet timing missing for track %ld, PTS %" PRId64, __FUNCTION__,
++#endif
+ 			     pkt->track_idx, pkt->pts);
+ 			return;
+ 		}
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/obs-studio.git/commitdiff/e87d0fcb8856fb08062e9d5b96f129a803446911



More information about the pld-cvs-commit mailing list