gstplayer with rtsp stream reports widthxheight 0x0 in "video-dimensions-changed" event

classic Classic list List threaded Threaded
18 messages Options
Reply | Threaded
Open this post in threaded view
|

gstplayer with rtsp stream reports widthxheight 0x0 in "video-dimensions-changed" event

pedjaman
Hi,

I've noticed that "video-dimensions-changed" reports 0x0 size for rtsp stream in gstplayer.
Any idea how to workaround this?
Reply | Threaded
Open this post in threaded view
|

Re: gstplayer with rtsp stream reports widthxheight 0x0 in "video-dimensions-changed" event

Sebastian Dröge-3
On Di, 2016-09-20 at 13:28 -0700, pedjaman wrote:
> Hi,
>
> I've noticed that "video-dimensions-changed" reports 0x0 size for rtsp
> stream in gstplayer.
> Any idea how to workaround this?

How can this be reproduced, and on which RTSP stream? Can you get a
debug log with GST_DEBUG=6?

--
Sebastian Dröge, Centricular Ltd · http://www.centricular.com
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

signature.asc (985 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: gstplayer with rtsp stream reports widthxheight 0x0 in "video-dimensions-changed" event

pedjaman
I've tried several RTSP streames (h264 AAC).
They are playing correctly but size iz 0x0.
Size change is reported only once with this value. No further dimension change events fired.

How can I set debug level from JNI?
Reply | Threaded
Open this post in threaded view
|

Re: gstplayer with rtsp stream reports widthxheight 0x0 in "video-dimensions-changed" event

Sebastian Dröge-3
On Mi, 2016-09-21 at 07:35 -0700, pedjaman wrote:
> I've tried several RTSP streames (h264 AAC).
> They are playing correctly but size iz 0x0.
> Size change is reported only once with this value. No further
> dimension
> change events fired.
>
> How can I set debug level from JNI?

In gstreamer_android-1.0.c.in (in!) you can find a line that sets it to
GST_LEVEL_WARNING. Change that to GST_LEVEL_LOG and rebuild your
application. Then you should get a lot of debug output in "adb logcat".

--
Sebastian Dröge, Centricular Ltd · http://www.centricular.com
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

signature.asc (985 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: gstplayer with rtsp stream reports widthxheight 0x0 in "video-dimensions-changed" event

pedjaman
Thank you fro your reply.

Mentioned file doesn't exists in project tree or downloaded gstreamer 1.9.2 archive from this location: https://gstreamer.freedesktop.org/data/pkg/android/
Where it should be located?
Reply | Threaded
Open this post in threaded view
|

Re: gstplayer with rtsp stream reports widthxheight 0x0 in "video-dimensions-changed" event

Sebastian Dröge-3
On Do, 2016-09-22 at 07:39 -0700, pedjaman wrote:
> Thank you fro your reply.
>
> Mentioned file doesn't exists in project tree or downloaded gstreamer
> 1.9.2
> archive from this location: 
> https://gstreamer.freedesktop.org/data/pkg/android/
> <https://gstreamer.freedesktop.org/data/pkg/android/>  
> Where it should be located?

In share/gst-android/ndk-build inside those files.

--
Sebastian Dröge, Centricular Ltd · http://www.centricular.com
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

signature.asc (985 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: gstplayer with rtsp stream reports widthxheight 0x0 in "video-dimensions-changed" event

pedjaman
Thank you for fast reply.

When setting such debug level, a lot of debug messages are lost due to excessive amount of verbose messages.

I'm attaching two logcats:

1. logcat.txt - having some messages dropped including one which should be outputted by my debug line (see bellow):
2. logcat_filtered_width.txt - (filtered by word width) outputting my debug line and above that properly detected size

Snippet of code reportinng 0x0
            mGstMediaPlayer = new Player();
            mGstMediaPlayer.setVideoDimensionsChangedListener(new Player.VideoDimensionsChangedListener() {
                public void videoDimensionsChanged(Player player, final int width, final int height) {
                    Log.d(TAG, "videoDimensionsChanged: width=" + width + " height=" + height);
                }
            });

Snippet above is borrowed from player example.
Handler is set with:

  g_signal_connect (player->player, "video-dimensions-changed",
      G_CALLBACK (on_video_dimensions_changed), player);

static void
on_video_dimensions_changed (GstPlayer * gstplayer, gint width, gint height,
    Player * player)
{
  JNIEnv *env = get_jni_env ();

  (*env)->CallVoidMethod (env, player->java_player,
      on_video_dimensions_changed_method_id, width, height);
  if ((*env)->ExceptionCheck (env)) {
    (*env)->ExceptionDescribe (env);
    (*env)->ExceptionClear (env);
  }
}

I wonder why this reports 0x0 when we have width and height proeprly detected? Any clue or workaround on mind?
Reply | Threaded
Open this post in threaded view
|

Re: gstplayer with rtsp stream reports widthxheight 0x0 in "video-dimensions-changed" event

pedjaman
Reply | Threaded
Open this post in threaded view
|

Re: gstplayer with rtsp stream reports widthxheight 0x0 in "video-dimensions-changed" event

Sebastian Dröge-3
In reply to this post by pedjaman
On Do, 2016-09-22 at 09:18 -0700, pedjaman wrote:
> Thank you for fast reply.
>
> When setting such debug level, a lot of debug messages are lost due
> to excessive amount of verbose messages.

Can you make available the RTSP stream that results in this? This
should be reproducible outside Android too, on platforms where you can
actually debug more easily.

--
Sebastian Dröge, Centricular Ltd · http://www.centricular.com
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

signature.asc (985 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: gstplayer with rtsp stream reports widthxheight 0x0 in "video-dimensions-changed" event

pedjaman
Any h264 AAC stream behaves the same. I haven't tried others.

For example, widely used:

rtsp://mpv.cdn3.bigCDN.com:554/bigCDN/definst/mp4:bigbuckbunnyiphone_400.mp4

We could move this outside android, bt on android, decoders we are using are OMX based. So it might be specific to them. herefore, moving outside may not be helpful. Although, we can try
Reply | Threaded
Open this post in threaded view
|

Re: gstplayer with rtsp stream reports widthxheight 0x0 in "video-dimensions-changed" event

Sebastian Dröge-3
On Do, 2016-09-22 at 12:41 -0700, pedjaman wrote:
> Any h264 AAC stream behaves the same. I haven't tried others.
>
> For example, widely used:
>
> rtsp://mpv.cdn3.bigCDN.com:554/bigCDN/definst/mp4:bigbuckbunnyiphone_400.mp4
>
> We could move this outside android, bt on android, decoders we are using are
> OMX based. So it might be specific to them. herefore, moving outside may not
> be helpful. Although, we can try

What I see here is that the signal first gets emitted with 0x0, and
then a bit later with 320x180. Is that also what you see?

--
Sebastian Dröge, Centricular Ltd · http://www.centricular.com
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

signature.asc (985 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: gstplayer with rtsp stream reports widthxheight 0x0 in "video-dimensions-changed" event

pedjaman
No. in 1.9.2 only one signal is fired. check supplied catlog
Reply | Threaded
Open this post in threaded view
|

Re: gstplayer with rtsp stream reports widthxheight 0x0 in "video-dimensions-changed" event

Sebastian Dröge-3
On Do, 2016-09-22 at 13:26 -0700, pedjaman wrote:
> No. in 1.9.2 only one signal is fired. check supplied catlog

Ok, please file a bug with a testcase and the link to the stream then.
  https://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer

I can't reproduce this here, it seems to always report first 0x0 and
then the correct resolution once it is actually known.

--
Sebastian Dröge, Centricular Ltd · http://www.centricular.com
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

signature.asc (985 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: gstplayer with rtsp stream reports widthxheight 0x0 in "video-dimensions-changed" event

pedjaman
Bug #771882 submited.
Reply | Threaded
Open this post in threaded view
|

Re: gstplayer with rtsp stream reports widthxheight 0x0 in "video-dimensions-changed" event

pedjaman
Could you provide sample code you are using? The one which produces two events (0x0 and apropriate widthn and height)?
Also which version of GStreamer? Is it 1.9.2?
Trying to find out if I'm doing something wrong or it is somehwere in GStreamer

Reply | Threaded
Open this post in threaded view
|

Re: gstplayer with rtsp stream reports widthxheight 0x0 in "video-dimensions-changed" event

Sebastian Dröge-3
On Fr, 2016-09-23 at 09:59 -0700, pedjaman wrote:
> Could you provide sample code you are using? The one which produces
> two
> events (0x0 and apropriate widthn and height)?
> Also which version of GStreamer? Is it 1.9.2?
> Trying to find out if I'm doing something wrong or it is somehwere in
> GStreamer

I was using gst-play from here:
  https://cgit.freedesktop.org/gstreamer/gst-examples/tree/playback/player/gst-play

And then added a signal handler for video-dimensions-changed, which
just printed the resolution. This is with GIT master, but nothing
changed in that regard since 1.9.2.

Does your stream start playing for you?

--
Sebastian Dröge, Centricular Ltd · http://www.centricular.com
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

signature.asc (985 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: gstplayer with rtsp stream reports widthxheight 0x0 in "video-dimensions-changed" event

pedjaman
Stream is playing, audio is there but just colored stripes on texture due to not being able to get size from gstreamer to set surfaces buffer size.
I've made workaround by:
1. catching "state-changed" (on_state_changed in example code)
2. adding following snippet to re-fire size change
  // Workaround for bad width and height
  if(state == GST_PLAYER_STATE_PLAYING)
  {
    GstPlayerVideoInfo * vi = gst_player_get_current_video_track(player->player);
    gint width = gst_player_video_info_get_width(vi);
    gint height = gst_player_video_info_get_height(vi);
    __android_log_print (ANDROID_LOG_DEBUG, "GstPlayer", "*************************************************** width x height=%dx%d", width, height);
    
    on_video_dimensions_changed(unused, width, height, player);
  }

Nasty workaround but that solved a problem. Please note that this is the only change in example code.

This will do it until we find real cause of missing event

On Sat, Sep 24, 2016 at 3:50 PM, Sebastian Dröge-3 [via GStreamer-devel] <[hidden email]> wrote:
On Fr, 2016-09-23 at 09:59 -0700, pedjaman wrote:
> Could you provide sample code you are using? The one which produces
> two
> events (0x0 and apropriate widthn and height)?
> Also which version of GStreamer? Is it 1.9.2?
> Trying to find out if I'm doing something wrong or it is somehwere in
> GStreamer

I was using gst-play from here:
  https://cgit.freedesktop.org/gstreamer/gst-examples/tree/playback/player/gst-play

And then added a signal handler for video-dimensions-changed, which
just printed the resolution. This is with GIT master, but nothing
changed in that regard since 1.9.2.

Does your stream start playing for you?

--
Sebastian Dröge, Centricular Ltd · http://www.centricular.com
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

signature.asc (985 bytes) Download Attachment



To unsubscribe from gstplayer with rtsp stream reports widthxheight 0x0 in "video-dimensions-changed" event, click here.
NAML

Reply | Threaded
Open this post in threaded view
|

Re: gstplayer with rtsp stream reports widthxheight 0x0 in "video-dimensions-changed" event

Sebastian Dröge-3
On Sat, 2016-09-24 at 06:56 -0700, pedjaman wrote:
> Stream is playing, audio is there but just colored stripes on texture
> due to not being able to get size from gstreamer to set surfaces
> buffer size.
> I've made workaround by:
> 1. catching "state-changed" (on_state_changed in example code)
> 2. adding following snippet to re-fire size change
>   // Workaround for bad width and height
> [...]

Well, as you say, that's only a workaround :)

Can you get a full debug log, and one with gst-player:6 into the bug
report? That might already give a hint where to look before I get the
time to test things myself on Android.

--
Sebastian Dröge, Centricular Ltd · http://www.centricular.com
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

signature.asc (949 bytes) Download Attachment