示例#1
0
static void
print_current_tracks (GstPlay * play)
{
  GstPlayerAudioInfo *audio = NULL;
  GstPlayerVideoInfo *video = NULL;
  GstPlayerSubtitleInfo *subtitle = NULL;

  g_print ("Current video track: \n");
  video = gst_player_get_current_video_track (play->player);
  print_video_info (video);

  g_print ("Current audio track: \n");
  audio = gst_player_get_current_audio_track (play->player);
  print_audio_info (audio);

  g_print ("Current subtitle track: \n");
  subtitle = gst_player_get_current_subtitle_track (play->player);
  print_subtitle_info (subtitle);

  if (audio)
    g_object_unref (audio);

  if (video)
    g_object_unref (video);

  if (subtitle)
    g_object_unref (subtitle);
}
示例#2
0
static void
print_all_subtitle_stream (GstPlayerMediaInfo * media_info)
{
  GList *list = NULL, *l;

  list = gst_player_get_subtitle_streams (media_info);
  if (!list)
    return;

  g_print ("All subtitle streams:\n");
  for (l = list; l != NULL; l = l->next) {
    GstPlayerSubtitleInfo *info = (GstPlayerSubtitleInfo *) l->data;
    GstPlayerStreamInfo *sinfo = (GstPlayerStreamInfo *) info;
    g_print (" %s_%d #\n", gst_player_stream_info_get_stream_type (sinfo),
        gst_player_stream_info_get_index (sinfo));
    print_subtitle_info (info);
  }
}
示例#3
0
static void
print_all_stream_info (GstPlayerMediaInfo * media_info)
{
  guint count = 0;
  GList *list, *l;

  g_print ("URI : %s\n", gst_player_media_info_get_uri (media_info));
  g_print ("Duration: %" GST_TIME_FORMAT "\n",
      GST_TIME_ARGS (gst_player_media_info_get_duration (media_info)));
  g_print ("Global taglist:\n");
  if (gst_player_media_info_get_tags (media_info))
    gst_tag_list_foreach (gst_player_media_info_get_tags (media_info),
        print_one_tag, NULL);
  else
    g_print ("  (nil) \n");

  list = gst_player_media_info_get_stream_list (media_info);
  if (!list)
    return;

  g_print ("All Stream information\n");
  for (l = list; l != NULL; l = l->next) {
    GstTagList *tags = NULL;
    GstPlayerStreamInfo *stream = (GstPlayerStreamInfo *) l->data;

    g_print (" Stream # %u \n", count++);
    g_print ("  type : %s_%u\n",
        gst_player_stream_info_get_stream_type (stream),
        gst_player_stream_info_get_index (stream));
    tags = gst_player_stream_info_get_tags (stream);
    g_print ("  taglist : \n");
    if (tags) {
      gst_tag_list_foreach (tags, print_one_tag, NULL);
    }

    if (GST_IS_PLAYER_VIDEO_INFO (stream))
      print_video_info ((GstPlayerVideoInfo *) stream);
    else if (GST_IS_PLAYER_AUDIO_INFO (stream))
      print_audio_info ((GstPlayerAudioInfo *) stream);
    else
      print_subtitle_info ((GstPlayerSubtitleInfo *) stream);
  }
}