GNOME Bugzilla – Bug 768026
play network mp4 error
Last modified: 2018-01-20 14:59:56 UTC
I play mp4 with a network, the mp4 a minute video data, a half minutes of audio data, when playing to half a minute later, play the callback to stop, back not to continue to play, there is no this problem in the 1.7 version.
Please provide more information like a sample file / url and/or debug log.
6-25 17:20:15.705 7536-8261/ D/GStreamer+bin: 0:03:11.345473990 0xacbe9860 gstbin.c:4203:gst_bin_query:<glimagesinkbin0> query 0xacd7f990 result 1 06-25 17:20:15.705 7536-8261/ D/GStreamer+bin: 0:03:11.345603261 0xacbe9860 gstbin.c:3968:bin_query_position_fold:<glimagesinkbin0> got position 55458333333 06-25 17:20:15.706 7536-8261/ D/GStreamer+bin: 0:03:11.345741438 0xacbe9860 gstbin.c:3986:bin_query_position_done:<vbin> max position 55458333333 06-25 17:20:15.706 7536-8261/ D/GStreamer+bin: 0:03:11.345860813 0xacbe9860 gstbin.c:4203:gst_bin_query:<vbin> query 0xacd7f990 result 1 06-25 17:20:15.706 7536-8261/ D/GStreamer+bin: 0:03:11.345989771 0xacbe9860 gstbin.c:3968:bin_query_position_fold:<vbin> got position 55458333333 06-25 17:20:15.706 7536-8261/ D/GStreamer+GST_STATES: 0:03:11.346121855 0xacbe9860 gstbin.c:1797:bin_element_is_sink:<playsink> child vdbin is not sink 06-25 17:20:15.706 7536-8261/ D/GStreamer+GST_STATES: 0:03:11.346251021 0xacbe9860 gstbin.c:1797:bin_element_is_sink:<playsink> child audiotee is not sink 06-25 17:20:15.706 7536-8261/ D/GStreamer+GST_STATES: 0:03:11.346379459 0xacbe9860 gstbin.c:1797:bin_element_is_sink:<playsink> child streamsynchronizer0 is not sink 06-25 17:20:15.706 7536-826 (In reply to Tim-Philipp Müller from comment #1) > Please provide more information like a sample file / url and/or debug log.
Please provide a full debug log, thanks! Also this is apparently on Android. Which version of GStreamer are you using, what application and on which device?
this is bug,any mp4 online network ,Audio length is shorter than the length of the video。
android and iOS ,Performance is the same。 I found it and network it doesn't matter, as long as there is no sound position call pause, then calls the play, play no callback, without any error, just not play. (In reply to Sebastian Dröge (slomo) from comment #3) > Please provide a full debug log, thanks! > > Also this is apparently on Android. Which version of GStreamer are you > using, what application and on which device?
What does this mean? It works now for you? What was the problem?
In audio length is less than the length of the video in the mp4 file, in the absence of audio data play position call pause playback, unable to continue to play. (In reply to Sebastian Dröge (slomo) from comment #6) > What does this mean? It works now for you? What was the problem?
D/GStreamer+gst-player: 0:06:33.328047988 0xeea6a8e0 gstplayer.c:2547:gst_player_play_internal:<player0> Play 07-05 19:55:50.798 496-567/? D/GStreamer+GST_STATES: 0:06:33.328754719 0xeea6a8e0 gstelement.c:2523:gst_element_set_state_func:<playbin> set_state to PLAYING 07-05 19:55:50.798 496-567/? D/GStreamer+GST_STATES: 0:06:33.328836834 0xeea6a8e0 gstelement.c:2548:gst_element_set_state_func:<playbin> setting target state to PLAYING 07-05 19:55:50.798 496-567/? D/GStreamer+GST_STATES: 0:06:33.328989488 0xeea6a8e0 gstelement.c:2561:gst_element_set_state_func:<playbin> current PLAYING, old_pending PAUSED, next PAUSED, old return ASYNC 07-05 19:55:50.798 496-567/? D/GStreamer+GST_STATES: 0:06:33.329114911 0xeea6a8e0 gstelement.c:2615:gst_element_set_state_func:<playbin> element was busy with async state change
07-05 20:44:44.908 12052-12106/? D/GStreamer+GST_BUS: 0:01:12.686462871 0xeea6f8e0 gstbus.c:346:gst_bus_post:<bus0> [msg 0xee504760] dropped 07-05 20:44:44.908 12052-12106/? D/GStreamer+GST_STATES: 0:01:12.686499140 0xeea6f8e0 gstelement.c:2613:gst_element_set_state_func:<uridecodebin0> returned SUCCESS 07-05 20:44:44.908 12052-12106/? I/GStreamer+GST_STATES: 0:01:12.686530717 0xeea6f8e0 gstbin.c:2764:gst_bin_change_state_func:<playbin> child 'uridecodebin0' changed state to 3(PAUSED) successfully 07-05 20:44:44.908 12052-12106/? D/GStreamer+bin: 0:01:12.686559794 0xeea6f8e0 gstbin.c:2171:gst_bin_sort_iterator_next:<playbin> queue empty, elements exhausted 07-05 20:44:44.908 12052-12106/? D/GStreamer+GST_STATES: 0:01:12.686585525 0xeea6f8e0 gstbin.c:2823:gst_bin_change_state_func:<playbin> iterator done 07-05 20:44:44.908 12052-12106/? D/GStreamer+GST_STATES: 0:01:12.686612179 0xeea6f8e0 gstbin.c:2841:gst_bin_change_state_func:<playbin> we have ASYNC elements SUCCESS -> ASYNC 07-05 20:44:44.908 12052-12106/? D/GStreamer+bin: 0:01:12.686637640 0xeea6f8e0 gstbin.c:2213:gst_bin_sort_iterator_free:<playbin> free 07-05 20:44:44.908 12052-12106/? D/GStreamer+bin: 0:01:12.686665448 0xeea6f8e0 gstbin.c:2869:gst_bin_change_state_func:<playbin> check async elements 07-05 20:44:44.908 12052-12106/? D/GStreamer+bin: 0:01:12.686695217 0xeea6f8e0 gstbin.c:880:find_message:<playbin> we found a message 0xee504220 from playsink matching types 00100000 07-05 20:44:44.908 12052-12106/? D/GStreamer+GST_STATES: 0:01:12.686728563 0xeea6f8e0 gstbin.c:2892:gst_bin_change_state_func:<playbin> done changing bin's state from PLAYING to PAUSED, now in PLAYING, ret ASYNC 07-05 20:44:44.908 12052-12106/? D/GStreamer+audiobasesink: 0:01:12.686781717 0xeea6f8e0 gstaudiobasesink.c:568:gst_audio_base_sink_get_time:<openslessink0> processed samples: raw 2279088, delay 0, real 2279088, time 0:00:51.680000000 07-05 20:44:44.908 12052-12106/? D/GStreamer+audioclock: 0:01:12.686820602 0xeea6f8e0 gstaudioclock.c:172:gst_audio_clock_get_internal_time:<GstAudioSinkClock> result 0:00:51.680000000, last_time 0:00:51.680000000 07-05 20:44:44.908 12052-12106/? D/GStreamer+GST_CLOCK: 0:01:12.686852294 0xeea6f8e0 gstclock.c:1056:gst_clock_get_internal_time:<GstAudioSinkClock> internal time 0:00:51.680000000 07-05 20:44:44.908 12052-12106/? D/GStreamer+GST_CLOCK: 0:01:12.686887371 0xeea6f8e0 gstclock.c:1101:gst_clock_get_time:<GstAudioSinkClock> adjusted time 0:00:51.680000000 07-05 20:44:44.908 12052-12106/? D/GStreamer+pipeline: 0:01:12.686926679 0xeea6f8e0 gstpipeline.c:369:pipeline_update_start_time:<playbin> start_time=0:00:51.680000000, now=0:00:51.680000000, base_time 0:00:00.000000000 07-05 20:44:44.908 12052-12106/? D/GStreamer+GST_STATES: 0:01:12.686955371 0xeea6f8e0 gstelement.c:2672:gst_element_change_state:<playbin> element will change state ASYNC 07-05 20:44:44.908 12052-12106/? D/GStreamer+GST_STATES: 0:01:12.686982948 0xeea6f8e0 gstelement.c:2613:gst_element_set_state_func:<playbin> returned ASYNC
If I understand your report, this needs to be tested with a mp4 file which has more video than audio, then pause/play between the end of the audio track and the end of the video track, while there is only video left. Can you point to a suitable test file (ie, one with an audio gap at the end) ?
Closing this bug report as no further information has been provided. Please feel free to reopen this bug report if you can provide the information that was asked for in a previous comment. Thanks!