[rygel-gst-0-10-plugins] More cleanup
- From: Murray Cumming <murrayc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [rygel-gst-0-10-plugins] More cleanup
- Date: Tue, 29 Jan 2013 09:55:18 +0000 (UTC)
commit 735b3e6e6e56ce8dddb2310220dfe645590e0b38
Author: Murray Cumming <murrayc murrayc com>
Date: Tue Jan 29 10:54:49 2013 +0100
More cleanup
src/media-export/rygel-media-export-item-factory.c | 638 ++++++--------------
1 files changed, 172 insertions(+), 466 deletions(-)
---
diff --git a/src/media-export/rygel-media-export-item-factory.c b/src/media-export/rygel-media-export-item-factory.c
index a2b9743..7613585 100644
--- a/src/media-export/rygel-media-export-item-factory.c
+++ b/src/media-export/rygel-media-export-item-factory.c
@@ -27,8 +27,6 @@
#include "rygel-media-export-item-factory.h"
#include "rygel-media-export-jpeg-writer.h"
-#define _gst_structure_free0(var) ((var == NULL) ? NULL : (var = (gst_structure_free (var), NULL)))
-
RygelMediaItem*
rygel_media_export_item_factory_create_simple (RygelMediaContainer *parent, GFile *file, GFileInfo *info) {
RygelMediaItem *item = NULL;
@@ -101,20 +99,26 @@ rygel_media_export_item_factory_create_from_info (RygelMediaContainer *parent, G
result = NULL;
} else if (!audio_streams &&
gst_discoverer_video_info_is_image ((GstDiscovererVideoInfo*) video_streams->data)) {
- RygelMediaExportPhotoItem *item = rygel_media_export_photo_item_new (id, parent, "", RYGEL_PHOTO_ITEM_UPNP_CLASS);
- result = rygel_media_export_item_factory_fill_photo_item (item, file, dlna_info, (GstDiscovererVideoInfo*) video_streams->data, file_info);
+ RygelMediaExportPhotoItem *item = rygel_media_export_photo_item_new (id,
+ parent, "", RYGEL_PHOTO_ITEM_UPNP_CLASS);
+ result = rygel_media_export_item_factory_fill_photo_item (item, file,
+ dlna_info, (GstDiscovererVideoInfo*) video_streams->data, file_info);
} else if (video_streams) {
- RygelMediaExportVideoItem *item = rygel_media_export_video_item_new (id, parent, "", RYGEL_VIDEO_ITEM_UPNP_CLASS);
+ RygelMediaExportVideoItem *item = rygel_media_export_video_item_new (id,
+ parent, "", RYGEL_VIDEO_ITEM_UPNP_CLASS);
GstDiscovererAudioInfo *audio_info = NULL;
if(audio_streams) {
audio_info = (GstDiscovererAudioInfo*) audio_streams->data;
}
- result = rygel_media_export_item_factory_fill_video_item (item, file, dlna_info, (GstDiscovererVideoInfo*) video_streams->data, audio_info, file_info);
+ result = rygel_media_export_item_factory_fill_video_item (item, file,
+ dlna_info, (GstDiscovererVideoInfo*) video_streams->data, audio_info, file_info);
} else if (audio_streams) {
- RygelMediaExportMusicItem *item = rygel_media_export_music_item_new (id, parent, "", RYGEL_MUSIC_ITEM_UPNP_CLASS);
- result = rygel_media_export_item_factory_fill_music_item (item, file, dlna_info, (GstDiscovererAudioInfo*) audio_streams->data, file_info);
+ RygelMediaExportMusicItem *item = rygel_media_export_music_item_new (id,
+ parent, "", RYGEL_MUSIC_ITEM_UPNP_CLASS);
+ result = rygel_media_export_item_factory_fill_music_item (item, file,
+ dlna_info, (GstDiscovererAudioInfo*) audio_streams->data, file_info);
} else {
result = NULL;
}
@@ -131,7 +135,8 @@ rygel_media_export_item_factory_create_from_info (RygelMediaContainer *parent, G
}
-void rygel_media_export_item_factory_fill_audio_item (RygelAudioItem *item, GUPnPDLNAInformation *dlna_info, GstDiscovererAudioInfo *audio_info) {
+void
+rygel_media_export_item_factory_fill_audio_item (RygelAudioItem *item, GUPnPDLNAInformation *dlna_info, GstDiscovererAudioInfo *audio_info) {
g_return_if_fail (item);
g_return_if_fail (dlna_info);
@@ -143,24 +148,26 @@ void rygel_media_export_item_factory_fill_audio_item (RygelAudioItem *item, GUPn
rygel_audio_item_set_duration (item, (glong) (-1));
}
- if (audio_info) {
- const GstTagList *tags = gst_discoverer_stream_info_get_tags ((GstDiscovererStreamInfo*) audio_info);
- if (tags) {
- guint tmp = 0U;
- gst_tag_list_get_uint (tags, GST_TAG_BITRATE, &tmp);
+ if (!audio_info)
+ return;
- rygel_audio_item_set_bitrate (item, (gint) tmp / 8);
- }
+ const GstTagList *tags = gst_discoverer_stream_info_get_tags ((GstDiscovererStreamInfo*) audio_info);
+ if (tags) {
+ guint tmp = 0U;
+ gst_tag_list_get_uint (tags, GST_TAG_BITRATE, &tmp);
- rygel_audio_item_set_channels (item,
- (gint) gst_discoverer_audio_info_get_channels (audio_info));
- rygel_audio_item_set_sample_freq (item,
- (gint) gst_discoverer_audio_info_get_sample_rate (audio_info));
+ rygel_audio_item_set_bitrate (item, (gint) tmp / 8);
}
+
+ rygel_audio_item_set_channels (item,
+ (gint) gst_discoverer_audio_info_get_channels (audio_info));
+ rygel_audio_item_set_sample_freq (item,
+ (gint) gst_discoverer_audio_info_get_sample_rate (audio_info));
}
-RygelMediaItem *rygel_media_export_item_factory_fill_video_item (RygelMediaExportVideoItem *item, GFile *file, GUPnPDLNAInformation *dlna_info, GstDiscovererVideoInfo *video_info, GstDiscovererAudioInfo *audio_info, GFileInfo *file_info) {
+RygelMediaItem*
+rygel_media_export_item_factory_fill_video_item (RygelMediaExportVideoItem *item, GFile *file, GUPnPDLNAInformation *dlna_info, GstDiscovererVideoInfo *video_info, GstDiscovererAudioInfo *audio_info, GFileInfo *file_info) {
g_return_val_if_fail (item, NULL);
g_return_val_if_fail (file, NULL);
g_return_val_if_fail (dlna_info, NULL);
@@ -183,481 +190,180 @@ RygelMediaItem *rygel_media_export_item_factory_fill_video_item (RygelMediaExpor
}
-RygelMediaItem *rygel_media_export_item_factory_fill_photo_item (RygelMediaExportPhotoItem *item, GFile *file, GUPnPDLNAInformation *dlna_info, GstDiscovererVideoInfo *video_info, GFileInfo *file_info) {
- RygelMediaItem *result = NULL;
- RygelMediaExportPhotoItem *_tmp0_;
- GFile *_tmp1_;
- GUPnPDLNAInformation *_tmp2_;
- GFileInfo *_tmp3_;
- RygelMediaExportPhotoItem *_tmp4_;
- GstDiscovererVideoInfo *_tmp5_;
- guint _tmp6_ = 0U;
- RygelMediaExportPhotoItem *_tmp7_;
- GstDiscovererVideoInfo *_tmp8_;
- guint _tmp9_ = 0U;
- GstDiscovererVideoInfo *_tmp10_;
- guint _tmp11_ = 0U;
- gint color_depth;
- gint _tmp12_ = 0;
- gint _tmp13_;
- RygelMediaExportPhotoItem *_tmp15_;
- gint _tmp16_;
- RygelMediaExportPhotoItem *_tmp17_;
- RygelMediaItem *_tmp18_;
+RygelMediaItem*
+rygel_media_export_item_factory_fill_photo_item (RygelMediaExportPhotoItem *item, GFile *file, GUPnPDLNAInformation *dlna_info, GstDiscovererVideoInfo *video_info, GFileInfo *file_info) {
g_return_val_if_fail (item, NULL);
g_return_val_if_fail (file, NULL);
g_return_val_if_fail (dlna_info, NULL);
g_return_val_if_fail (video_info, NULL);
g_return_val_if_fail (file_info, NULL);
- _tmp0_ = item;
- _tmp1_ = file;
- _tmp2_ = dlna_info;
- _tmp3_ = file_info;
- rygel_media_export_item_factory_fill_media_item ((RygelMediaItem*) _tmp0_, _tmp1_, _tmp2_, _tmp3_);
- _tmp4_ = item;
- _tmp5_ = video_info;
- _tmp6_ = gst_discoverer_video_info_get_width (_tmp5_);
- rygel_visual_item_set_width ((RygelVisualItem*) _tmp4_, (gint) _tmp6_);
- _tmp7_ = item;
- _tmp8_ = video_info;
- _tmp9_ = gst_discoverer_video_info_get_height (_tmp8_);
- rygel_visual_item_set_height ((RygelVisualItem*) _tmp7_, (gint) _tmp9_);
- _tmp10_ = video_info;
- _tmp11_ = gst_discoverer_video_info_get_depth (_tmp10_);
- color_depth = (gint) _tmp11_;
- _tmp13_ = color_depth;
- if (_tmp13_ == 0) {
- _tmp12_ = -1;
- } else {
- gint _tmp14_;
- _tmp14_ = color_depth;
- _tmp12_ = _tmp14_;
- }
- _tmp15_ = item;
- _tmp16_ = _tmp12_;
- rygel_visual_item_set_color_depth ((RygelVisualItem*) _tmp15_, _tmp16_);
- _tmp17_ = item;
- _tmp18_ = g_object_ref ((RygelMediaItem*) _tmp17_);
- result = _tmp18_;
- return result;
-}
-
+
+ rygel_media_export_item_factory_fill_media_item (RYGEL_MEDIA_ITEM (item),
+ file, dlna_info, file_info);
+
+ rygel_visual_item_set_width (RYGEL_VISUAL_ITEM (item),
+ (gint) gst_discoverer_video_info_get_width (video_info));
+ rygel_visual_item_set_height (RYGEL_VISUAL_ITEM (item),
+ (gint) gst_discoverer_video_info_get_height (video_info));
-static gpointer _gst_structure_copy0 (gconstpointer self) {
- return self ? gst_structure_copy (self) : NULL;
+ gint color_depth = gst_discoverer_video_info_get_depth (video_info);
+ rygel_visual_item_set_color_depth (RYGEL_VISUAL_ITEM (item),
+ color_depth == 0 ? -1 : color_depth );
+
+ return RYGEL_MEDIA_ITEM (item);
}
-
RygelMediaItem *rygel_media_export_item_factory_fill_music_item (RygelMediaExportMusicItem *item, GFile *file, GUPnPDLNAInformation *dlna_info, GstDiscovererAudioInfo *audio_info, GFileInfo *file_info) {
- RygelMediaItem *result = NULL;
- RygelMediaExportMusicItem *_tmp0_;
- GUPnPDLNAInformation *_tmp1_;
- GstDiscovererAudioInfo *_tmp2_;
- RygelMediaExportMusicItem *_tmp3_;
- GFile *_tmp4_;
- GUPnPDLNAInformation *_tmp5_;
- GFileInfo *_tmp6_;
- GstDiscovererAudioInfo *_tmp7_;
- RygelMediaExportMusicItem *_tmp64_;
- RygelMediaItem *_tmp65_;
- GError *_inner_error_ = NULL;
+ RygelMediaItem *result = RYGEL_MEDIA_ITEM (item);
+
g_return_val_if_fail (item, NULL);
g_return_val_if_fail (file, NULL);
g_return_val_if_fail (dlna_info, NULL);
g_return_val_if_fail (file_info, NULL);
- _tmp0_ = item;
- _tmp1_ = dlna_info;
- _tmp2_ = audio_info;
- rygel_media_export_item_factory_fill_audio_item (G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, RYGEL_TYPE_AUDIO_ITEM) ? ((RygelAudioItem*) _tmp0_) : NULL, _tmp1_, _tmp2_);
- _tmp3_ = item;
- _tmp4_ = file;
- _tmp5_ = dlna_info;
- _tmp6_ = file_info;
- rygel_media_export_item_factory_fill_media_item ((RygelMediaItem*) _tmp3_, _tmp4_, _tmp5_, _tmp6_);
- _tmp7_ = audio_info;
- if (_tmp7_) {
- GstDiscovererAudioInfo *_tmp8_;
- const GstTagList *_tmp9_ = NULL;
- gchar *artist = NULL;
- GUPnPDLNAInformation *_tmp29_;
- const GstDiscovererInfo *_tmp30_;
- const GstDiscovererInfo *_tmp31_;
- const GstTagList *_tmp32_ = NULL;
- gchar *_tmp33_ = NULL;
- RygelMediaExportMusicItem *_tmp34_;
- const gchar *_tmp35_;
- gchar *album = NULL;
- GUPnPDLNAInformation *_tmp36_;
- const GstDiscovererInfo *_tmp37_;
- const GstDiscovererInfo *_tmp38_;
- const GstTagList *_tmp39_ = NULL;
- gchar *_tmp40_ = NULL;
- RygelMediaExportMusicItem *_tmp41_;
- const gchar *_tmp42_;
- gchar *genre = NULL;
- GUPnPDLNAInformation *_tmp43_;
- const GstDiscovererInfo *_tmp44_;
- const GstDiscovererInfo *_tmp45_;
- const GstTagList *_tmp46_ = NULL;
- gchar *_tmp47_ = NULL;
- RygelMediaExportMusicItem *_tmp48_;
- const gchar *_tmp49_;
- guint tmp = 0U;
- GUPnPDLNAInformation *_tmp50_;
- const GstDiscovererInfo *_tmp51_;
- const GstDiscovererInfo *_tmp52_;
- const GstTagList *_tmp53_ = NULL;
- guint _tmp54_ = 0U;
- RygelMediaExportMusicItem *_tmp55_;
- guint _tmp56_;
- GUPnPDLNAInformation *_tmp57_;
- const GstDiscovererInfo *_tmp58_;
- const GstDiscovererInfo *_tmp59_;
- const GstTagList *_tmp60_ = NULL;
- guint _tmp61_ = 0U;
- RygelMediaExportMusicItem *_tmp62_;
- guint _tmp63_;
- _tmp8_ = audio_info;
- _tmp9_ = gst_discoverer_stream_info_get_tags ((GstDiscovererStreamInfo*) _tmp8_);
- if (_tmp9_) {
- GstBuffer *buffer = NULL;
- GstDiscovererAudioInfo *_tmp10_;
- const GstTagList *_tmp11_ = NULL;
- GstBuffer *_tmp12_ = NULL;
- GstBuffer *_tmp13_;
- _tmp10_ = audio_info;
- _tmp11_ = gst_discoverer_stream_info_get_tags ((GstDiscovererStreamInfo*) _tmp10_);
- gst_tag_list_get_buffer (_tmp11_, GST_TAG_IMAGE, &_tmp12_);
- buffer = _tmp12_;
- _tmp13_ = buffer;
- if (_tmp13_) {
- GstBuffer *_tmp14_;
- GstCaps *_tmp15_;
- const GstStructure *_tmp16_ = NULL;
- GstStructure *_tmp17_;
- GstStructure *structure;
- gint image_type = 0;
- const GstStructure *_tmp18_;
- gint _tmp19_ = 0;
- gint _tmp20_;
- _tmp14_ = buffer;
- _tmp15_ = _tmp14_->caps;
- _tmp16_ = gst_caps_get_structure (_tmp15_, (guint) 0);
- _tmp17_ = _gst_structure_copy0 (_tmp16_);
- structure = _tmp17_;
- _tmp18_ = structure;
- gst_structure_get_enum (_tmp18_, "image-type", GST_TYPE_TAG_IMAGE_TYPE, &_tmp19_);
- image_type = _tmp19_;
- _tmp20_ = image_type;
- switch (_tmp20_) {
- case GST_TAG_IMAGE_TYPE_UNDEFINED:
- case GST_TAG_IMAGE_TYPE_FRONT_COVER:
- {
- RygelMediaArtStore *_tmp21_ = NULL;
- RygelMediaArtStore *store;
- RygelMediaArtStore *_tmp22_;
- RygelMediaExportMusicItem *_tmp23_;
- GFile *_tmp24_ = NULL;
- GFile *thumb;
- _tmp21_ = rygel_media_art_store_get_default ();
- store = _tmp21_;
- _tmp22_ = store;
- _tmp23_ = item;
- _tmp24_ = rygel_media_art_store_get_media_art_file (_tmp22_, "album", (RygelMusicItem*) _tmp23_, TRUE);
- thumb = _tmp24_;
- {
- RygelMediaExportJPEGWriter *_tmp25_;
- RygelMediaExportJPEGWriter *writer;
- RygelMediaExportJPEGWriter *_tmp26_;
- GstBuffer *_tmp27_;
- GFile *_tmp28_;
- _tmp25_ = rygel_media_export_jpeg_writer_new (&_inner_error_);
- writer = _tmp25_;
- if (_inner_error_) {
- goto __catch59_g_error;
- }
- _tmp26_ = writer;
- _tmp27_ = buffer;
- _tmp28_ = thumb;
- rygel_media_export_jpeg_writer_write (_tmp26_, _tmp27_, _tmp28_);
- g_object_unref (writer);
- }
- goto __finally59;
- __catch59_g_error:
- {
- GError *_error_ = NULL;
- _error_ = _inner_error_;
- _inner_error_ = NULL;
- g_error_free (_error_);
- }
- __finally59:
- if (_inner_error_) {
- g_object_unref (thumb);
- g_object_unref (store);
- _gst_structure_free0 (structure);
- g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
- g_clear_error (&_inner_error_);
- return NULL;
- }
- g_object_unref (thumb);
- g_object_unref (store);
- break;
- }
- default:
- {
- break;
- }
- }
- _gst_structure_free0 (structure);
+
+ rygel_media_export_item_factory_fill_audio_item (RYGEL_AUDIO_ITEM (item), dlna_info, audio_info);
+ rygel_media_export_item_factory_fill_media_item (RYGEL_MEDIA_ITEM (item), file, dlna_info, file_info);
+
+ if (!audio_info)
+ return result;
+
+ const GstTagList *tags = gst_discoverer_stream_info_get_tags ((GstDiscovererStreamInfo*) audio_info);
+ if (!tags)
+ return result;
+
+ gchar *artist = NULL;
+ gst_tag_list_get_string (tags, GST_TAG_ARTIST, &artist);
+ rygel_music_item_set_artist (RYGEL_MUSIC_ITEM (item), artist);
+ g_free (artist);
+
+ gchar *album = NULL;
+ gst_tag_list_get_string (tags, GST_TAG_ALBUM, &album);
+ rygel_music_item_set_album (RYGEL_MUSIC_ITEM (item), album);
+ g_free (album);
+
+ gchar *genre = NULL;
+ gst_tag_list_get_string (tags, GST_TAG_GENRE, &genre);
+ rygel_music_item_set_album (RYGEL_MUSIC_ITEM (item), genre);
+ g_free (genre);
+
+ guint volume_number = 0U;
+ gst_tag_list_get_uint (tags, GST_TAG_ALBUM_VOLUME_NUMBER, &volume_number);
+ item->disc = volume_number;
+
+ guint track_number = 0U;
+ gst_tag_list_get_uint (tags, GST_TAG_TRACK_NUMBER, &track_number);
+ rygel_music_item_set_track_number (RYGEL_MUSIC_ITEM (item), track_number);
+
+ rygel_audio_item_set_sample_freq (RYGEL_AUDIO_ITEM (item),
+ (gint) gst_discoverer_audio_info_get_sample_rate ((GstDiscovererAudioInfo *) audio_info));
+
+ GstBuffer* buffer = NULL;
+ gst_tag_list_get_buffer (tags, GST_TAG_IMAGE, &buffer);
+ if (!buffer || !buffer->caps)
+ return result;
+
+ GstStructure *structure = gst_caps_get_structure (buffer->caps, 0);
+ if (!structure)
+ return result;
+
+ gint image_type = 0;
+ gst_structure_get_enum (structure, "image-type",
+ GST_TYPE_TAG_IMAGE_TYPE, &image_type);
+ switch (image_type) {
+ case GST_TAG_IMAGE_TYPE_UNDEFINED:
+ case GST_TAG_IMAGE_TYPE_FRONT_COVER:
+ {
+ RygelMediaArtStore *store = rygel_media_art_store_get_default ();
+ GFile* thumb = rygel_media_art_store_get_media_art_file (store,
+ "album", RYGEL_MUSIC_ITEM (item), TRUE);
+
+ RygelMediaExportJPEGWriter *writer =
+ rygel_media_export_jpeg_writer_new (NULL);
+ if (writer) {
+ rygel_media_export_jpeg_writer_write (writer, buffer, thumb);
+ g_object_unref (writer);
}
+
+ g_object_unref (thumb);
+ g_object_unref (store); /* TODO: Did get_default() return a reference()? */
}
- _tmp29_ = dlna_info;
- _tmp30_ = gupnp_dlna_information_get_info (_tmp29_);
- _tmp31_ = _tmp30_;
- _tmp32_ = gst_discoverer_info_get_tags (_tmp31_);
- gst_tag_list_get_string (_tmp32_, GST_TAG_ARTIST, &_tmp33_);
- g_free (artist);
- artist = _tmp33_;
- _tmp34_ = item;
- _tmp35_ = artist;
- rygel_music_item_set_artist ((RygelMusicItem*) _tmp34_, _tmp35_);
- _tmp36_ = dlna_info;
- _tmp37_ = gupnp_dlna_information_get_info (_tmp36_);
- _tmp38_ = _tmp37_;
- _tmp39_ = gst_discoverer_info_get_tags (_tmp38_);
- gst_tag_list_get_string (_tmp39_, GST_TAG_ALBUM, &_tmp40_);
- g_free (album);
- album = _tmp40_;
- _tmp41_ = item;
- _tmp42_ = album;
- rygel_music_item_set_album ((RygelMusicItem*) _tmp41_, _tmp42_);
- _tmp43_ = dlna_info;
- _tmp44_ = gupnp_dlna_information_get_info (_tmp43_);
- _tmp45_ = _tmp44_;
- _tmp46_ = gst_discoverer_info_get_tags (_tmp45_);
- gst_tag_list_get_string (_tmp46_, GST_TAG_GENRE, &_tmp47_);
- g_free (genre);
- genre = _tmp47_;
- _tmp48_ = item;
- _tmp49_ = genre;
- rygel_music_item_set_genre ((RygelMusicItem*) _tmp48_, _tmp49_);
- _tmp50_ = dlna_info;
- _tmp51_ = gupnp_dlna_information_get_info (_tmp50_);
- _tmp52_ = _tmp51_;
- _tmp53_ = gst_discoverer_info_get_tags (_tmp52_);
- gst_tag_list_get_uint (_tmp53_, GST_TAG_ALBUM_VOLUME_NUMBER, &_tmp54_);
- tmp = _tmp54_;
- _tmp55_ = item;
- _tmp56_ = tmp;
- _tmp55_->disc = (gint) _tmp56_;
- _tmp57_ = dlna_info;
- _tmp58_ = gupnp_dlna_information_get_info (_tmp57_);
- _tmp59_ = _tmp58_;
- _tmp60_ = gst_discoverer_info_get_tags (_tmp59_);
- gst_tag_list_get_uint (_tmp60_, GST_TAG_TRACK_NUMBER, &_tmp61_);
- tmp = _tmp61_;
- _tmp62_ = item;
- _tmp63_ = tmp;
- rygel_music_item_set_track_number ((RygelMusicItem*) _tmp62_, (gint) _tmp63_);
- g_free (genre);
- g_free (album);
- g_free (artist);
+ default:
+ break;
}
- _tmp64_ = item;
- _tmp65_ = g_object_ref ((RygelMediaItem*) _tmp64_);
- result = _tmp65_;
+
+ gst_structure_free (structure);
+
return result;
}
void rygel_media_export_item_factory_fill_media_item (RygelMediaItem *item, GFile *file, GUPnPDLNAInformation *dlna_info, GFileInfo *file_info) {
- gchar *title;
- gboolean _tmp0_ = FALSE;
- GUPnPDLNAInformation *_tmp1_;
- const GstDiscovererInfo *_tmp2_;
- const GstDiscovererInfo *_tmp3_;
- const GstTagList *_tmp4_ = NULL;
- gboolean _tmp11_;
- RygelMediaItem *_tmp15_;
- const gchar *_tmp16_;
- GUPnPDLNAInformation *_tmp17_;
- const GstDiscovererInfo *_tmp18_;
- const GstDiscovererInfo *_tmp19_;
- const GstTagList *_tmp20_ = NULL;
- GFileInfo *_tmp32_;
- guint64 _tmp33_ = 0ULL;
- guint64 mtime;
- RygelMediaItem *_tmp34_;
- const gchar *_tmp35_;
- const gchar *_tmp36_;
- RygelMediaItem *_tmp42_;
- GFileInfo *_tmp43_;
- gint64 _tmp44_ = 0LL;
- RygelMediaItem *_tmp45_;
- guint64 _tmp46_;
- GUPnPDLNAInformation *_tmp47_;
- const gchar *_tmp48_;
- const gchar *_tmp49_;
- RygelMediaItem *_tmp63_;
- GFile *_tmp64_;
- gchar *_tmp65_ = NULL;
- gchar *_tmp66_;
g_return_if_fail (item);
g_return_if_fail (file);
g_return_if_fail (dlna_info);
g_return_if_fail (file_info);
- title = NULL;
- _tmp1_ = dlna_info;
- _tmp2_ = gupnp_dlna_information_get_info (_tmp1_);
- _tmp3_ = _tmp2_;
- _tmp4_ = gst_discoverer_info_get_tags (_tmp3_);
- if (_tmp4_ == NULL) {
- _tmp0_ = TRUE;
- } else {
- GUPnPDLNAInformation *_tmp5_;
- const GstDiscovererInfo *_tmp6_;
- const GstDiscovererInfo *_tmp7_;
- const GstTagList *_tmp8_ = NULL;
- gchar *_tmp9_ = NULL;
- gboolean _tmp10_ = FALSE;
- _tmp5_ = dlna_info;
- _tmp6_ = gupnp_dlna_information_get_info (_tmp5_);
- _tmp7_ = _tmp6_;
- _tmp8_ = gst_discoverer_info_get_tags (_tmp7_);
- _tmp10_ = gst_tag_list_get_string (_tmp8_, GST_TAG_TITLE, &_tmp9_);
- g_free (title);
- title = _tmp9_;
- _tmp0_ = !_tmp10_;
- }
- _tmp11_ = _tmp0_;
- if (_tmp11_) {
- GFileInfo *_tmp12_;
- const gchar *_tmp13_ = NULL;
- gchar *_tmp14_;
- _tmp12_ = file_info;
- _tmp13_ = g_file_info_get_display_name (_tmp12_);
- _tmp14_ = g_strdup (_tmp13_);
- g_free (title);
- title = _tmp14_;
+
+ const GstDiscovererInfo *info = gupnp_dlna_information_get_info (dlna_info);
+ if (!info)
+ return;
+
+ const GstTagList *tags = gst_discoverer_stream_info_get_tags ((GstDiscovererStreamInfo*) info);
+ gchar *title = NULL;
+ if (!tags || !gst_tag_list_get_string (tags, GST_TAG_TITLE, &title)) {
+ title = g_strdup (g_file_info_get_display_name (file_info));
}
- _tmp15_ = item;
- _tmp16_ = title;
- rygel_media_object_set_title ((RygelMediaObject*) _tmp15_, _tmp16_);
- _tmp17_ = dlna_info;
- _tmp18_ = gupnp_dlna_information_get_info (_tmp17_);
- _tmp19_ = _tmp18_;
- _tmp20_ = gst_discoverer_info_get_tags (_tmp19_);
- if (_tmp20_) {
- GDate *date = NULL;
- GUPnPDLNAInformation *_tmp21_;
- const GstDiscovererInfo *_tmp22_;
- const GstDiscovererInfo *_tmp23_;
- const GstTagList *_tmp24_ = NULL;
- GDate *_tmp25_ = NULL;
- gboolean _tmp26_ = FALSE;
- _tmp21_ = dlna_info;
- _tmp22_ = gupnp_dlna_information_get_info (_tmp21_);
- _tmp23_ = _tmp22_;
- _tmp24_ = gst_discoverer_info_get_tags (_tmp23_);
- _tmp26_ = gst_tag_list_get_date (_tmp24_, GST_TAG_DATE, &_tmp25_);
- g_free (date);
- date = _tmp25_;
- if (_tmp26_) {
- gchar *_tmp27_ = NULL;
- gchar *datestr;
- gint datestr_length1;
- GDate *_tmp28_;
- gchar *_tmp29_;
- gint _tmp29__length1;
- RygelMediaItem *_tmp30_;
- gchar *_tmp31_;
- _tmp27_ = g_new0 (gchar, 30);
- datestr = _tmp27_;
- datestr_length1 = 30;
- _tmp28_ = date;
- _tmp29_ = datestr;
- _tmp29__length1 = datestr_length1;
- g_date_strftime (_tmp29_, _tmp29__length1, "%F", _tmp28_);
- _tmp30_ = item;
- _tmp31_ = datestr;
- rygel_media_item_set_date (_tmp30_, (const gchar*) _tmp31_);
- datestr = (g_free (datestr), NULL);
- }
- g_free (date);
+
+ rygel_media_object_set_title (RYGEL_MEDIA_OBJECT (item), title);
+ g_free (title);
+
+ GDate* date = NULL;
+ if (tags) {
+ if (gst_tag_list_get_date (tags, GST_TAG_DATE, &date)) {
+ gint datestr_length = 30;
+ gchar *datestr = g_new0 (gchar, datestr_length);
+ g_date_strftime (datestr, datestr_length, "%F", date);
+
+ rygel_media_item_set_date (item, datestr);
+ g_free (datestr);
+ }
}
- _tmp32_ = file_info;
- _tmp33_ = g_file_info_get_attribute_uint64 (_tmp32_, G_FILE_ATTRIBUTE_TIME_MODIFIED);
- mtime = _tmp33_;
- _tmp34_ = item;
- _tmp35_ = rygel_media_item_get_date (_tmp34_);
- _tmp36_ = _tmp35_;
- if (_tmp36_ == NULL) {
- guint64 _tmp37_;
- GTimeVal _tmp38_ = {0};
- GTimeVal tv;
- RygelMediaItem *_tmp39_;
- gchar *_tmp40_ = NULL;
- gchar *_tmp41_;
- _tmp37_ = mtime;
- _tmp38_.tv_sec = (glong) _tmp37_;
- _tmp38_.tv_usec = (glong) 0;
- tv = _tmp38_;
- _tmp39_ = item;
- _tmp40_ = g_time_val_to_iso8601 (&tv);
- _tmp41_ = _tmp40_;
- rygel_media_item_set_date (_tmp39_, _tmp41_);
- g_free (_tmp41_);
+
+ // use mtime if no time tag was available
+ guint64 mtime = g_file_info_get_attribute_uint64 (file_info,
+ G_FILE_ATTRIBUTE_TIME_MODIFIED);
+ if (!date) {
+ GTimeVal tv = {0};
+ tv.tv_sec = (glong) mtime;
+ tv.tv_usec = (glong) 0;
+
+ gchar* datestr = g_time_val_to_iso8601 (&tv);
+ rygel_media_item_set_date (item, datestr);
+ g_free (datestr);
}
- _tmp42_ = item;
- _tmp43_ = file_info;
- _tmp44_ = g_file_info_get_size (_tmp43_);
- rygel_media_item_set_size (_tmp42_, (gint64) _tmp44_);
- _tmp45_ = item;
- _tmp46_ = mtime;
- rygel_media_object_set_modified ((RygelMediaObject*) _tmp45_, (guint64) ((gint64) _tmp46_));
- _tmp47_ = dlna_info;
- _tmp48_ = gupnp_dlna_information_get_name (_tmp47_);
- _tmp49_ = _tmp48_;
- if (_tmp49_) {
- RygelMediaItem *_tmp50_;
- GUPnPDLNAInformation *_tmp51_;
- const gchar *_tmp52_;
- const gchar *_tmp53_;
- RygelMediaItem *_tmp54_;
- GUPnPDLNAInformation *_tmp55_;
- const gchar *_tmp56_;
- const gchar *_tmp57_;
- _tmp50_ = item;
- _tmp51_ = dlna_info;
- _tmp52_ = gupnp_dlna_information_get_name (_tmp51_);
- _tmp53_ = _tmp52_;
- rygel_media_item_set_dlna_profile (_tmp50_, _tmp53_);
- _tmp54_ = item;
- _tmp55_ = dlna_info;
- _tmp56_ = gupnp_dlna_information_get_mime (_tmp55_);
- _tmp57_ = _tmp56_;
- rygel_media_item_set_mime_type (_tmp54_, _tmp57_);
+
+ g_date_free (date);
+
+
+ rygel_media_item_set_size (item,
+ (gint64) g_file_info_get_size (file_info));
+ rygel_media_object_set_modified (RYGEL_MEDIA_OBJECT (item), (guint64) mtime);
+
+ const gchar *name = gupnp_dlna_information_get_name (dlna_info);
+ if (name) {
+ rygel_media_item_set_dlna_profile (item, name);
+
+ rygel_media_item_set_mime_type (item,
+ gupnp_dlna_information_get_mime (dlna_info));
} else {
- RygelMediaItem *_tmp58_;
- GFileInfo *_tmp59_;
- const gchar *_tmp60_ = NULL;
- gchar *_tmp61_ = NULL;
- gchar *_tmp62_;
- _tmp58_ = item;
- _tmp59_ = file_info;
- _tmp60_ = g_file_info_get_content_type (_tmp59_);
- _tmp61_ = g_content_type_get_mime_type (_tmp60_);
- _tmp62_ = _tmp61_;
- rygel_media_item_set_mime_type (_tmp58_, _tmp62_);
- g_free (_tmp62_);
+ const gchar *content_type = g_file_info_get_content_type (file_info);
+ gchar *content_type_mime_type = g_content_type_get_mime_type (content_type);
+ rygel_media_item_set_mime_type (item, content_type_mime_type);
+ g_free (content_type_mime_type);
}
- _tmp63_ = item;
- _tmp64_ = file;
- _tmp65_ = g_file_get_uri (_tmp64_);
- _tmp66_ = _tmp65_;
- rygel_media_item_add_uri (_tmp63_, _tmp66_);
- g_free (_tmp66_);
- g_free (title);
+
+ gchar *uri = g_file_get_uri (file);
+ rygel_media_item_add_uri (item, uri);
+ g_free (uri);
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]