whitespace cleanup

This commit is contained in:
F. Duncanh
2025-08-08 17:06:14 -04:00
parent 32d5de23c8
commit b5e083b107
2 changed files with 41 additions and 41 deletions

View File

@@ -103,15 +103,15 @@ static gboolean check_plugin_feature (const gchar *needed_feature)
plugin_feature = gst_registry_find_feature (registry, needed_feature, GST_TYPE_ELEMENT_FACTORY); plugin_feature = gst_registry_find_feature (registry, needed_feature, GST_TYPE_ELEMENT_FACTORY);
if (!plugin_feature) { if (!plugin_feature) {
g_print ("Required gstreamer libav plugin feature '%s' not found:\n\n" g_print ("Required gstreamer libav plugin feature '%s' not found:\n\n"
"This may be missing because the FFmpeg package used by GStreamer-1.x-libav is incomplete.\n" "This may be missing because the FFmpeg package used by GStreamer-1.x-libav is incomplete.\n"
"(Some distributions provide an incomplete FFmpeg due to License or Patent issues:\n" "(Some distributions provide an incomplete FFmpeg due to License or Patent issues:\n"
"in such cases a complete version for that distribution is usually made available elsewhere)\n", "in such cases a complete version for that distribution is usually made available elsewhere)\n",
needed_feature); needed_feature);
ret = FALSE; ret = FALSE;
} else { } else {
gst_object_unref (plugin_feature); gst_object_unref (plugin_feature);
plugin_feature = NULL; plugin_feature = NULL;
} }
if (ret == FALSE) { if (ret == FALSE) {
g_print ("\nif the plugin feature is installed, but not found, your gstreamer registry may have been corrupted.\n" g_print ("\nif the plugin feature is installed, but not found, your gstreamer registry may have been corrupted.\n"
@@ -187,7 +187,7 @@ void audio_renderer_init(logger_t *render_logger, const char* audiosink, const b
g_assert (renderer_type[i]->pipeline); g_assert (renderer_type[i]->pipeline);
gst_pipeline_use_clock(GST_PIPELINE_CAST(renderer_type[i]->pipeline), clock); gst_pipeline_use_clock(GST_PIPELINE_CAST(renderer_type[i]->pipeline), clock);
renderer_type[i]->bus = gst_element_get_bus(renderer_type[i]->pipeline); renderer_type[i]->bus = gst_element_get_bus(renderer_type[i]->pipeline);
renderer_type[i]->appsrc = gst_bin_get_by_name (GST_BIN (renderer_type[i]->pipeline), "audio_source"); renderer_type[i]->appsrc = gst_bin_get_by_name (GST_BIN (renderer_type[i]->pipeline), "audio_source");
renderer_type[i]->volume = gst_bin_get_by_name (GST_BIN (renderer_type[i]->pipeline), "volume"); renderer_type[i]->volume = gst_bin_get_by_name (GST_BIN (renderer_type[i]->pipeline), "volume");
switch (i) { switch (i) {
@@ -369,12 +369,12 @@ void audio_renderer_destroy() {
audio_renderer_stop(); audio_renderer_stop();
for (int i = 0; i < NFORMATS ; i++ ) { for (int i = 0; i < NFORMATS ; i++ ) {
gst_object_unref (renderer_type[i]->bus); gst_object_unref (renderer_type[i]->bus);
renderer_type[i]->bus = NULL; renderer_type[i]->bus = NULL;
gst_object_unref (renderer_type[i]->volume); gst_object_unref (renderer_type[i]->volume);
renderer_type[i]->volume = NULL; renderer_type[i]->volume = NULL;
gst_object_unref (renderer_type[i]->appsrc); gst_object_unref (renderer_type[i]->appsrc);
renderer_type[i]->appsrc = NULL; renderer_type[i]->appsrc = NULL;
gst_object_unref (renderer_type[i]->pipeline); gst_object_unref (renderer_type[i]->pipeline);
renderer_type[i]->pipeline = NULL; renderer_type[i]->pipeline = NULL;
free(renderer_type[i]); free(renderer_type[i]);
} }

View File

@@ -211,8 +211,8 @@ GstElement *make_video_sink(const char *videosink, const char *videosink_options
pval++; pval++;
const gchar *property_name = (const gchar *) token; const gchar *property_name = (const gchar *) token;
const gchar *value = (const gchar *) pval; const gchar *value = (const gchar *) pval;
g_print("playbin_videosink property: \"%s\" \"%s\"\n", property_name, value); g_print("playbin_videosink property: \"%s\" \"%s\"\n", property_name, value);
gst_util_set_object_arg(G_OBJECT (video_sink), property_name, value); gst_util_set_object_arg(G_OBJECT (video_sink), property_name, value);
} }
} }
free(options); free(options);
@@ -283,7 +283,7 @@ void video_renderer_init(logger_t *render_logger, const char *server_name, vide
} }
logger_log(logger, LOGGER_INFO, "Will use GStreamer playbin version %u to play HLS streamed video", playbin_version); logger_log(logger, LOGGER_INFO, "Will use GStreamer playbin version %u to play HLS streamed video", playbin_version);
g_assert(renderer_type[i]->pipeline); g_assert(renderer_type[i]->pipeline);
renderer_type[i]->codec = hls; renderer_type[i]->codec = hls;
/* if we are not using an autovideosink, build a videosink based on the string "videosink" */ /* if we are not using an autovideosink, build a videosink based on the string "videosink" */
if (!auto_videosink) { if (!auto_videosink) {
GstElement *playbin_videosink = make_video_sink(videosink, videosink_options); GstElement *playbin_videosink = make_video_sink(videosink, videosink_options);
@@ -297,9 +297,9 @@ void video_renderer_init(logger_t *render_logger, const char *server_name, vide
gint flags; gint flags;
g_object_get(renderer_type[i]->pipeline, "flags", &flags, NULL); g_object_get(renderer_type[i]->pipeline, "flags", &flags, NULL);
flags |= GST_PLAY_FLAG_DOWNLOAD; flags |= GST_PLAY_FLAG_DOWNLOAD;
flags |= GST_PLAY_FLAG_BUFFERING; // set by default in playbin3, but not in playbin2; is it needed? flags |= GST_PLAY_FLAG_BUFFERING; // set by default in playbin3, but not in playbin2; is it needed?
g_object_set(renderer_type[i]->pipeline, "flags", flags, NULL); g_object_set(renderer_type[i]->pipeline, "flags", flags, NULL);
g_object_set (G_OBJECT (renderer_type[i]->pipeline), "uri", uri, NULL); g_object_set (G_OBJECT (renderer_type[i]->pipeline), "uri", uri, NULL);
} else { } else {
bool jpeg_pipeline = false; bool jpeg_pipeline = false;
switch (i) { switch (i) {
@@ -320,9 +320,9 @@ void video_renderer_init(logger_t *render_logger, const char *server_name, vide
g_assert(0); g_assert(0);
} }
GString *launch = g_string_new("appsrc name=video_source ! "); GString *launch = g_string_new("appsrc name=video_source ! ");
if (jpeg_pipeline) { if (jpeg_pipeline) {
g_string_append(launch, "jpegdec "); g_string_append(launch, "jpegdec ");
} else { } else {
g_string_append(launch, "queue ! "); g_string_append(launch, "queue ! ");
g_string_append(launch, parser); g_string_append(launch, parser);
g_string_append(launch, " ! "); g_string_append(launch, " ! ");
@@ -370,7 +370,7 @@ void video_renderer_init(logger_t *render_logger, const char *server_name, vide
logger_log(logger, LOGGER_ERR, "GStreamer gst_parse_launch failed to create video pipeline %d\n" logger_log(logger, LOGGER_ERR, "GStreamer gst_parse_launch failed to create video pipeline %d\n"
"*** error message from gst_parse_launch was:\n%s\n" "*** error message from gst_parse_launch was:\n%s\n"
"launch string parsed was \n[%s]", i + 1, error->message, launch->str); "launch string parsed was \n[%s]", i + 1, error->message, launch->str);
if (strstr(error->message, "no element")) { if (strstr(error->message, "no element")) {
logger_log(logger, LOGGER_ERR, "This error usually means that a uxplay option was mistyped\n" logger_log(logger, LOGGER_ERR, "This error usually means that a uxplay option was mistyped\n"
" or some requested part of GStreamer is not installed\n"); " or some requested part of GStreamer is not installed\n");
} }
@@ -385,7 +385,7 @@ void video_renderer_init(logger_t *render_logger, const char *server_name, vide
g_object_set(renderer_type[i]->appsrc, "caps", caps, "stream-type", 0, "is-live", TRUE, "format", GST_FORMAT_TIME, NULL); g_object_set(renderer_type[i]->appsrc, "caps", caps, "stream-type", 0, "is-live", TRUE, "format", GST_FORMAT_TIME, NULL);
g_string_free(launch, TRUE); g_string_free(launch, TRUE);
gst_caps_unref(caps); gst_caps_unref(caps);
gst_object_unref(clock); gst_object_unref(clock);
} }
#ifdef X_DISPLAY_FIX #ifdef X_DISPLAY_FIX
use_x11 = (strstr(videosink, "xvimagesink") || strstr(videosink, "ximagesink") || auto_videosink); use_x11 = (strstr(videosink, "xvimagesink") || strstr(videosink, "ximagesink") || auto_videosink);
@@ -704,9 +704,9 @@ static gboolean gstreamer_video_pipeline_bus_callback(GstBus *bus, GstMessage *m
g_print("GStreamer %s bus message %s %s %s %s\n", renderer_type[type]->codec, g_print("GStreamer %s bus message %s %s %s %s\n", renderer_type[type]->codec,
GST_MESSAGE_SRC_NAME(message), GST_MESSAGE_TYPE_NAME(message), old_state_name, new_state_name); GST_MESSAGE_SRC_NAME(message), GST_MESSAGE_TYPE_NAME(message), old_state_name, new_state_name);
} }
if (name) { if (name) {
g_free(name); g_free(name);
} }
} }
/* monitor hls video position until seek to hls_start_position is achieved */ /* monitor hls video position until seek to hls_start_position is achieved */
@@ -716,21 +716,21 @@ static gboolean gstreamer_video_pipeline_bus_callback(GstBus *bus, GstMessage *m
if (!GST_CLOCK_TIME_IS_VALID(hls_duration)) { if (!GST_CLOCK_TIME_IS_VALID(hls_duration)) {
gst_element_query_duration (renderer->pipeline, GST_FORMAT_TIME, &hls_duration); gst_element_query_duration (renderer->pipeline, GST_FORMAT_TIME, &hls_duration);
} }
gst_element_query_position (renderer_type[type]->pipeline, GST_FORMAT_TIME, &pos); gst_element_query_position (renderer_type[type]->pipeline, GST_FORMAT_TIME, &pos);
//g_print("HLS position %" GST_TIME_FORMAT " requested_start_position %" GST_TIME_FORMAT " duration %" GST_TIME_FORMAT " %s\n", //g_print("HLS position %" GST_TIME_FORMAT " requested_start_position %" GST_TIME_FORMAT " duration %" GST_TIME_FORMAT " %s\n",
// GST_TIME_ARGS(pos), GST_TIME_ARGS(hls_requested_start_position), GST_TIME_ARGS(hls_duration), // GST_TIME_ARGS(pos), GST_TIME_ARGS(hls_requested_start_position), GST_TIME_ARGS(hls_duration),
// (hls_seek_enabled ? "seek enabled" : "seek not enabled")); // (hls_seek_enabled ? "seek enabled" : "seek not enabled"));
if (pos > hls_requested_start_position) { if (pos > hls_requested_start_position) {
hls_requested_start_position = 0; hls_requested_start_position = 0;
} }
if ( hls_requested_start_position && pos < hls_requested_start_position && hls_seek_enabled) { if ( hls_requested_start_position && pos < hls_requested_start_position && hls_seek_enabled) {
g_print("***************** seek to hls_requested_start_position %" GST_TIME_FORMAT "\n", GST_TIME_ARGS(hls_requested_start_position)); g_print("***************** seek to hls_requested_start_position %" GST_TIME_FORMAT "\n", GST_TIME_ARGS(hls_requested_start_position));
if (gst_element_seek_simple (renderer_type[type]->pipeline, GST_FORMAT_TIME, if (gst_element_seek_simple (renderer_type[type]->pipeline, GST_FORMAT_TIME,
GST_SEEK_FLAG_FLUSH | GST_SEEK_FLAG_KEY_UNIT, hls_requested_start_position)) { GST_SEEK_FLAG_FLUSH | GST_SEEK_FLAG_KEY_UNIT, hls_requested_start_position)) {
hls_requested_start_position = 0; hls_requested_start_position = 0;
} }
} }
} }
} }
switch (GST_MESSAGE_TYPE (message)) { switch (GST_MESSAGE_TYPE (message)) {
@@ -742,8 +742,8 @@ static gboolean gstreamer_video_pipeline_bus_callback(GstBus *bus, GstMessage *m
gint percent = -1; gint percent = -1;
gst_message_parse_buffering(message, &percent); gst_message_parse_buffering(message, &percent);
hls_buffer_empty = TRUE; hls_buffer_empty = TRUE;
hls_buffer_full = FALSE; hls_buffer_full = FALSE;
if (percent > 0) { if (percent > 0) {
hls_buffer_empty = FALSE; hls_buffer_empty = FALSE;
renderer_type[type]->buffering_level = percent; renderer_type[type]->buffering_level = percent;
logger_log(logger, LOGGER_DEBUG, "Buffering :%d percent done", percent); logger_log(logger, LOGGER_DEBUG, "Buffering :%d percent done", percent);
@@ -772,11 +772,11 @@ static gboolean gstreamer_video_pipeline_bus_callback(GstBus *bus, GstMessage *m
"*** to select a videosink of your choice (see \"man uxplay\").\n\n" "*** to select a videosink of your choice (see \"man uxplay\").\n\n"
"*** Raspberry Pi models 4B and earlier using Video4Linux2 may need \"-bt709\" uxplay option"); "*** Raspberry Pi models 4B and earlier using Video4Linux2 may need \"-bt709\" uxplay option");
} }
g_error_free (err); g_error_free (err);
g_free (debug); g_free (debug);
if (renderer_type[type]->appsrc) { if (renderer_type[type]->appsrc) {
gst_app_src_end_of_stream (GST_APP_SRC(renderer_type[type]->appsrc)); gst_app_src_end_of_stream (GST_APP_SRC(renderer_type[type]->appsrc));
} }
gst_bus_set_flushing(bus, TRUE); gst_bus_set_flushing(bus, TRUE);
gst_element_set_state (renderer_type[type]->pipeline, GST_STATE_READY); gst_element_set_state (renderer_type[type]->pipeline, GST_STATE_READY);
renderer_type[type]->terminate = TRUE; renderer_type[type]->terminate = TRUE;
@@ -789,7 +789,7 @@ static gboolean gstreamer_video_pipeline_bus_callback(GstBus *bus, GstMessage *m
if (hls_video) { if (hls_video) {
gst_bus_set_flushing(bus, TRUE); gst_bus_set_flushing(bus, TRUE);
gst_element_set_state (renderer_type[type]->pipeline, GST_STATE_READY); gst_element_set_state (renderer_type[type]->pipeline, GST_STATE_READY);
renderer_type[type]->terminate = TRUE; renderer_type[type]->terminate = TRUE;
g_main_loop_quit( (GMainLoop *) loop); g_main_loop_quit( (GMainLoop *) loop);
} }
break; break;
@@ -824,14 +824,14 @@ static gboolean gstreamer_video_pipeline_bus_callback(GstBus *bus, GstMessage *m
char *sink = strstr(GST_MESSAGE_SRC_NAME(message), "-actual-sink-"); char *sink = strstr(GST_MESSAGE_SRC_NAME(message), "-actual-sink-");
if (sink) { if (sink) {
sink += strlen("-actual-sink-"); sink += strlen("-actual-sink-");
if (strstr(GST_MESSAGE_SRC_NAME(message), renderer_type[type]->codec)) { if (strstr(GST_MESSAGE_SRC_NAME(message), renderer_type[type]->codec)) {
logger_log(logger, LOGGER_DEBUG, "GStreamer: automatically-selected videosink" logger_log(logger, LOGGER_DEBUG, "GStreamer: automatically-selected videosink"
" (renderer %d: %s) is \"%ssink\"", renderer_type[type]->id + 1, " (renderer %d: %s) is \"%ssink\"", renderer_type[type]->id + 1,
renderer_type[type]->codec, sink); renderer_type[type]->codec, sink);
#ifdef X_DISPLAY_FIX #ifdef X_DISPLAY_FIX
renderer_type[type]->use_x11 = (strstr(sink, "ximage") || strstr(sink, "xvimage")); renderer_type[type]->use_x11 = (strstr(sink, "ximage") || strstr(sink, "xvimage"));
#endif #endif
renderer_type[type]->autovideo = false; renderer_type[type]->autovideo = false;
} }
} }
} }
@@ -889,7 +889,7 @@ int video_renderer_choose_codec (bool video_is_jpeg, bool video_is_h265) {
if (video_is_h265) { if (video_is_h265) {
logger_log(logger, LOGGER_ERR, "video is h265 but the -h265 option was not used"); logger_log(logger, LOGGER_ERR, "video is h265 but the -h265 option was not used");
return -1; return -1;
} }
renderer_used = renderer_type[1]; renderer_used = renderer_type[1];
} else { } else {
renderer_used = video_is_h265 ? renderer_type[2] : renderer_type[1]; renderer_used = video_is_h265 ? renderer_type[2] : renderer_type[1];
@@ -906,7 +906,7 @@ int video_renderer_choose_codec (bool video_is_jpeg, bool video_is_h265) {
GstState old_state, new_state; GstState old_state, new_state;
if (gst_element_get_state(renderer->pipeline, &old_state, &new_state, 100 * GST_MSECOND) == GST_STATE_CHANGE_FAILURE) { if (gst_element_get_state(renderer->pipeline, &old_state, &new_state, 100 * GST_MSECOND) == GST_STATE_CHANGE_FAILURE) {
g_error("video pipeline failed to go into playing state"); g_error("video pipeline failed to go into playing state");
return -1; return -1;
} }
logger_log(logger, LOGGER_DEBUG, "video_pipeline state change from %s to %s\n", logger_log(logger, LOGGER_DEBUG, "video_pipeline state change from %s to %s\n",
gst_element_state_get_name (old_state),gst_element_state_get_name (new_state)); gst_element_state_get_name (old_state),gst_element_state_get_name (new_state));
@@ -932,12 +932,12 @@ unsigned int video_reset_callback(void * loop) {
if (video_terminate) { if (video_terminate) {
video_terminate = false; video_terminate = false;
if (renderer->appsrc) { if (renderer->appsrc) {
gst_app_src_end_of_stream (GST_APP_SRC(renderer->appsrc)); gst_app_src_end_of_stream (GST_APP_SRC(renderer->appsrc));
} }
gboolean flushing = TRUE; gboolean flushing = TRUE;
gst_bus_set_flushing(renderer->bus, flushing); gst_bus_set_flushing(renderer->bus, flushing);
gst_element_set_state (renderer->pipeline, GST_STATE_NULL); gst_element_set_state (renderer->pipeline, GST_STATE_NULL);
g_main_loop_quit( (GMainLoop *) loop); g_main_loop_quit( (GMainLoop *) loop);
} }
return (unsigned int) TRUE; return (unsigned int) TRUE;
} }