Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[video_player_avplay] There are GStreamer errors in the log #626

Closed
MasterSon05 opened this issue Nov 15, 2023 · 4 comments
Closed

[video_player_avplay] There are GStreamer errors in the log #626

MasterSon05 opened this issue Nov 15, 2023 · 4 comments

Comments

@MasterSon05
Copy link
Contributor

When I run the example application in the video_player_avplay plugin, I see various GStreamer error messages in the log. Clear videos in the application work(although there are various errors in the logs), but the application crashes in DRM videos. I think dynamic libraries are somehow not loading correctly.

Logs:

Launching tizen/flutter/generated_main.dart on Tizen UE43AU8000UXTK in debug mode...
The partner_cert profile is used for signing.
Building a Tizen application in debug mode...                      51.5s
✓ Built build/tizen/tpk/org.tizen.video_player_avplay_example-1.0.0.tpk (35.1MB).
Latest build already installed.
[I] [EGL_DBG]: eglGetDisplay:2119, Winsys [tizen] path
[I] [EGL_DBG]: eglInitialize:2266, [Samsung][libmali.so][rel]: Rev: v1.r23p0-01rel0.6a28cba6cf998d0bf3a65244799603ad, Winsys: tizen + fbdev, nikem(0), nikel(1), internal AFBC disable
Syncing files to device Tizen UE43AU8000UXTK...                     70ms

Flutter run key commands.
r Hot reload. 🔥🔥🔥
R Hot restart.
h List all available interactive commands.
d Detach (terminate "flutter run" but leave application running).
c Clear the screen
q Quit (terminate the application on the device).

A Dart VM Service on Tizen UE43AU8000UXTK is available at: http://127.0.0.1:59536/DUM9zpIfkPc=/
[E] 
(process:13792): GLib-CRITICAL **: 22:51:31.370: g_path_get_basename: assertion 'file_name != NULL' failed
[E] 
(<unknown>:13792): GStreamer-WARNING **: 22:51:31.513: Failed to load plugin '/opt/usr/apps/org.tizen.video_player_avplay_example/lib/libgsthls.so': libclearkey.so.0: cannot open shared object file: Operation not permitted
[I] size of instance = 1240
[I] size of class = 1428
[I] size of basesrc = 448
[I] size of basesrcclass = 404
[E] 
(<unknown>:13792): GLib-GObject-WARNING **: 22:51:31.973: g_object_set_is_valid_property: object class 'GstHttpDemux' has no property named 'vod-type'
(<unknown>:13792): GLib-GObject-WARNING **: 22:51:31.973: g_object_set_is_valid_property: object class 'GstHttpDemux' has no property named 'http_fragment_mp4'
[E] 
(<unknown>:13792): GLib-GObject-WARNING **: 22:51:32.380: g_object_set_is_valid_property: object class 'GstMultiQueue' has no property named 'timeout-for-buffering'
[E] 
(<unknown>:13792): GStreamer-CRITICAL **: 22:51:32.386: gst_element_get_static_pad: assertion 'GST_IS_ELEMENT (element)' failed
[E] 
(<unknown>:13792): GStreamer-CRITICAL **: 22:51:32.387: gst_element_get_static_pad: assertion 'GST_IS_ELEMENT (element)' failed
(<unknown>:13792): GStreamer-CRITICAL **: 22:51:32.387: gst_pad_link_full: assertion 'GST_IS_PAD (srcpad)' failed
(<unknown>:13792): GStreamer-CRITICAL **: 22:51:32.387: gst_pad_add_probe: assertion 'GST_IS_PAD (pad)' failed
The Flutter DevTools debugger and profiler on Tizen UE43AU8000UXTK is available at: [http://127.0.0.1:9101?uri=http://127.0.0.1:59536/DUM9zpIfkPc=/](http://127.0.0.1:9101/?uri=http://127.0.0.1:59536/DUM9zpIfkPc=/)
[E] 
(<unknown>:13792): GStreamer-CRITICAL **: 22:51:32.895: gst_structure_new_empty: assertion 'gst_structure_validate_name (name)' failed
[E] 
(<unknown>:13792): GLib-CRITICAL **: 22:51:32.993: g_str_has_prefix: assertion 'str != NULL' failed
(<unknown>:13792): GLib-CRITICAL **: 22:51:32.993: g_str_has_prefix: assertion 'str != NULL' failed
(<unknown>:13792): GLib-CRITICAL **: 22:51:32.993: g_str_has_prefix: assertion 'str != NULL' failed
(<unknown>:13792): GLib-CRITICAL **: 22:51:32.994: g_str_has_prefix: assertion 'str != NULL' failed
(<unknown>:13792): GLib-CRITICAL **: 22:51:32.995: g_str_has_prefix: assertion 'str != NULL' failed
(<unknown>:13792): GLib-CRITICAL **: 22:51:32.995: g_str_has_prefix: assertion 'str != NULL' failed
[E] 
(<unknown>:13792): GLib-CRITICAL **: 22:51:32.997: g_str_has_prefix: assertion 'str != NULL' failed
[E] 
(<unknown>:13792): GLib-CRITICAL **: 22:51:32.997: g_str_has_prefix: assertion 'str != NULL' failed
[E] 
(<unknown>:13792): GLib-CRITICAL **: 22:51:32.997: g_str_has_prefix: assertion 'str != NULL' failed
[E] 
(<unknown>:13792): GLib-CRITICAL **: 22:51:32.998: g_str_has_prefix: assertion 'str != NULL' failed
[E] 
(<unknown>:13792): GLib-CRITICAL **: 22:51:32.998: g_str_has_prefix: assertion 'str != NULL' failed
[E] 
(<unknown>:13792): GLib-CRITICAL **: 22:51:33.008: g_str_has_prefix: assertion 'str != NULL' failed
(<unknown>:13792): GLib-CRITICAL **: 22:51:33.009: g_str_has_prefix: assertion 'str != NULL' failed
(<unknown>:13792): GLib-CRITICAL **: 22:51:33.009: g_str_has_prefix: assertion 'str != NULL' failed
(<unknown>:13792): GLib-CRITICAL **: 22:51:33.009: g_str_has_prefix: assertion 'str != NULL' failed
(<unknown>:13792): GLib-CRITICAL **: 22:51:33.009: g_str_has_prefix: assertion 'str != NULL' failed
[E] 
(<unknown>:13792): GStreamer-CRITICAL **: 22:51:33.010: gst_event_new_caps: assertion 'gst_caps_is_fixed (caps)' failed
(<unknown>:13792): GStreamer-CRITICAL **: 22:51:33.010: gst_pad_push_event: assertion 'GST_IS_EVENT (event)' failed
[E] 
(<unknown>:13792): GStreamer-CRITICAL **: 22:51:33.064: gst_mini_object_copy: assertion 'mini_object != NULL' failed
(<unknown>:13792): GStreamer-CRITICAL **: 22:51:33.064: gst_caps_get_structure: assertion 'GST_IS_CAPS (caps)' failed
[E] 
(<unknown>:13792): GStreamer-WARNING **: 22:51:33.067: gstpad.c:5204:store_sticky_event:<omxaudiodec0:src> Sticky event misordering, got 'segment' before 'caps'
[E] 
(<unknown>:13792): GStreamer-WARNING **: 22:51:33.077: gstpad.c:5204:store_sticky_event:<omxvideodec0:src> Sticky event misordering, got 'segment' before 'caps'
[E] 
(<unknown>:13792): GStreamer-CRITICAL **: 22:51:33.077: gst_caps_get_structure: assertion 'GST_IS_CAPS (caps)' failed
(<unknown>:13792): GStreamer-CRITICAL **: 22:51:33.077: gst_structure_get_int: assertion 'structure != NULL' failed
(<unknown>:13792): GStreamer-CRITICAL **: 22:51:33.077: gst_structure_get_int: assertion 'structure != NULL' failed
(<unknown>:13792): GLib-CRITICAL **: 22:51:33.077: g_str_has_prefix: assertion 'str != NULL' failed
(<unknown>:13792): GLib-CRITICAL **: 22:51:33.077: g_str_has_prefix: assertion 'str != NULL' failed
[E] 
(<unknown>:13792): GLib-CRITICAL **: 22:51:33.161: g_str_has_prefix: assertion 'str != NULL' failed
[E] 
(<unknown>:13792): GStreamer-WARNING **: 22:51:33.162: gstpad.c:5204:store_sticky_event:<mmaudiosink0:sink> Sticky event misordering, got 'segment' before 'caps'
[E] 
(<unknown>:13792): GStreamer-WARNING **: 22:51:33.249: gstpad.c:5204:store_sticky_event:<directvideosink:sink> Sticky event misordering, got 'segment' before 'caps'
[E] 
** (<unknown>:13792): CRITICAL **: 22:51:33.250: is_repeated_pts: assertion 'sink->is_first_putimage != TRUE' failed
[E] 
(<unknown>:13792): GStreamer-CRITICAL **: 22:51:33.250: gst_clock_get_time: assertion 'GST_IS_CLOCK (clock)' failed
[E] 
(<unknown>:13792): GStreamer-CRITICAL **: 22:51:33.254: gst_clock_get_time: assertion 'GST_IS_CLOCK (clock)' failed
(<unknown>:13792): GLib-CRITICAL **: 22:51:33.254: g_str_has_prefix: assertion 'str != NULL' failed
[E] 
(<unknown>:13792): GLib-GObject-WARNING **: 22:51:33.310: g_object_get_is_valid_property: object class 'GstHttpDemux' has no property named 'is-live'
[E] [ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: PlatformException(SetLooping, Player set looping failed, null, null)
#0      VideoPlayerAvplayApi.setLooping (package:video_player_avplay/src/messages.g.dart:500:7)
<asynchronous suspension>
#1      VideoPlayerController._applyLooping (package:video_player_avplay/video_player.dart:538:5)
<asynchronous suspension>
[E] [ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: PlatformException(SetVolume, Player set volume failed, null, null)
#0      VideoPlayerAvplayApi.setVolume (package:video_player_avplay/src/messages.g.dart:522:7)
<asynchronous suspension>
#1      VideoPlayerController._applyVolume (package:video_player_avplay/video_player.dart:592:5)
<asynchronous suspension>
[E] 
(<unknown>:13792): GStreamer-CRITICAL **: 22:52:06.631: gst_element_get_static_pad: assertion 'GST_IS_ELEMENT (element)' failed
[E] 
(<unknown>:13792): GStreamer-CRITICAL **: 22:52:07.880: gst_element_get_static_pad: assertion 'GST_IS_ELEMENT (element)' failed
[E] 
(<unknown>:13792): GLib-GObject-WARNING **: 22:52:08.256: g_object_get_is_valid_property: object class 'GstHttpDemux' has no property named 'is-live'

Environment:
TV: UE43AU8000UXTK
api-version="6.0"
PC: macbook pro M1 pro
flutter-tizen: 3.13.8

@xuelian-bai
Copy link

Hi, this issue is caused by security policy of samsung TV. In avplay plugin, to play drm video, you will need a USB certificate, if your company is samsung partner, we will provide this certificate, please send mail to me, xuelian.bai@samsung.com.

@xuelian-bai
Copy link

@hyue7
Copy link
Collaborator

hyue7 commented Dec 11, 2023

This is the security issue:
Failed to load plugin '/opt/usr/apps/org.tizen.video_player_avplay_example/lib/libgsthls.so': libclearkey.so.0: cannot open shared object file: Operation not permitted

On Tizen 7.0, only need partner level certificate. See this docment.
On Tizen 6.0/6.5, must need a USB certificate. You can contact with yue7.huang@samsung.com or xuelian.bai@samsung.com

@MasterSon05
Copy link
Contributor Author

Thank you for your answers. With the USB certificate, I was able to successfully play the DRM contents in the example application.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants