21 #include "../QGlib/string_p.h"
22 #include <gst/gsttaglist.h>
23 #include <gst/gstvalue.h>
25 #include <QtCore/QDebug>
26 #include <QtCore/QDate>
27 #include <QGst/Buffer>
31 QString getStringTag(GstTagList * list,
const gchar * tag,
int index)
34 if (gst_tag_list_get_string_index(list, tag, index, &value)) {
35 return QGlib::Private::stringFromGCharPtr(value);
40 quint32 getUintTag(GstTagList * list,
const gchar * tag,
int index)
43 gst_tag_list_get_uint_index(list, tag, index, &value);
47 double getDoubleTag(GstTagList * list,
const gchar * tag,
int index)
50 gst_tag_list_get_double_index(list, tag, index, &value);
54 QGst::BufferPtr getBufferTag(GstTagList * list,
const gchar * tag,
int index)
56 GstBuffer * value = 0;
57 gst_tag_list_get_buffer_index(list, tag, index, &value);
64 struct QTGSTREAMER_NO_EXPORT TagList::Data :
public QSharedData
67 Data(
const GstTagList *tl);
68 Data(
const Data & other);
77 taglist = gst_tag_list_new();
80 TagList::Data::Data(
const GstTagList *tl)
83 if (tl && gst_is_tag_list(tl)) {
84 taglist = gst_tag_list_copy(tl);
86 taglist = gst_tag_list_new();
90 TagList::Data::Data(
const TagList::Data & other)
93 taglist = gst_tag_list_copy(other.taglist);
96 TagList::Data::~Data()
98 gst_tag_list_free(taglist);
108 TagList::TagList(
const GstTagList *taglist)
109 : d(new Data(taglist))
117 TagList::TagList(
const TagList & other)
122 TagList & TagList::operator=(
const TagList & other)
128 bool TagList::isEmpty()
const
130 return gst_tag_list_is_empty(d->taglist);
133 void TagList::insert(
const TagList & other, TagMergeMode mode)
135 gst_tag_list_insert(d->taglist, other.d->taglist, static_cast<GstTagMergeMode>(mode));
139 TagList TagList::merge(
const TagList & firstList,
const TagList & secondList, TagMergeMode mode)
141 GstTagList *taglist = gst_tag_list_merge(firstList, secondList,
142 static_cast<GstTagMergeMode>(mode));
146 gst_tag_list_free(tl.d->taglist);
147 tl.d->taglist = taglist;
151 QGlib::Value TagList::tagValue(
const char *tag,
int index)
const
153 return QGlib::Value(gst_tag_list_get_value_index(d->taglist, tag, index));
156 void TagList::setTagValue(
const char *tag,
const QGlib::Value & value, TagMergeMode mode)
158 gst_tag_list_add_value(d->taglist, static_cast<GstTagMergeMode>(mode), tag, value);
161 int TagList::tagValueCount(
const char *tag)
const
163 return gst_tag_list_get_tag_size(d->taglist, tag);
166 void TagList::clear()
168 gst_tag_list_free(d->taglist);
169 d->taglist = gst_tag_list_new();
172 void TagList::removeTag(
const char *tag)
174 gst_tag_list_remove_tag(d->taglist, tag);
177 TagList::operator GstTagList*()
182 TagList::operator
const GstTagList*()
const
187 QString TagList::title(
int index)
const
189 return getStringTag(d->taglist, GST_TAG_TITLE, index);
192 void TagList::setTitle(
const QString & value, TagMergeMode mode)
194 gst_tag_list_add_value(d->taglist, static_cast<GstTagMergeMode>(mode),
198 int TagList::titleCount()
const
200 return gst_tag_list_get_tag_size(d->taglist, GST_TAG_TITLE);
203 QString TagList::titleSortName()
const
205 return getStringTag(d->taglist, GST_TAG_TITLE_SORTNAME, 0);
208 void TagList::setTitleSortName(
const QString & value)
210 gst_tag_list_add_value(d->taglist, GST_TAG_MERGE_REPLACE_ALL,
214 QString TagList::artist(
int index)
const
216 return getStringTag(d->taglist, GST_TAG_ARTIST, index);
219 void TagList::setArtist(
const QString & value, TagMergeMode mode)
221 gst_tag_list_add_value(d->taglist, static_cast<GstTagMergeMode>(mode),
225 int TagList::artistCount()
const
227 return gst_tag_list_get_tag_size(d->taglist, GST_TAG_ARTIST);
230 QString TagList::artistSortName()
const
232 return getStringTag(d->taglist, GST_TAG_ARTIST_SORTNAME, 0);
235 void TagList::setArtistSortName(
const QString & value)
237 gst_tag_list_add_value(d->taglist, GST_TAG_MERGE_REPLACE_ALL,
241 QString TagList::composer(
int index)
const
243 return getStringTag(d->taglist, GST_TAG_COMPOSER, index);
246 void TagList::setComposer(
const QString & value, TagMergeMode mode)
248 gst_tag_list_add_value(d->taglist, static_cast<GstTagMergeMode>(mode),
252 int TagList::composerCount()
const
254 return gst_tag_list_get_tag_size(d->taglist, GST_TAG_COMPOSER);
257 QDate TagList::date()
const
260 if (gst_tag_list_get_date(d->taglist, GST_TAG_DATE, &value)) {
261 QDate ret = QDate::fromJulianDay(g_date_get_julian(value));
268 void TagList::setDate(
const QDate & value)
270 GDate * date = g_date_new_julian(value.toJulianDay());
271 gst_tag_list_add (d->taglist, GST_TAG_MERGE_REPLACE_ALL, GST_TAG_DATE, date, NULL);
274 QString TagList::genre(
int index)
const
276 return getStringTag(d->taglist, GST_TAG_GENRE, index);
279 void TagList::setGenre(
const QString & value, TagMergeMode mode)
281 gst_tag_list_add_value(d->taglist, static_cast<GstTagMergeMode>(mode),
285 int TagList::genreCount()
const
287 return gst_tag_list_get_tag_size(d->taglist, GST_TAG_GENRE);
290 QString TagList::comment(
int index)
const
292 return getStringTag(d->taglist, GST_TAG_COMMENT, index);
295 void TagList::setComment(
const QString & value, TagMergeMode mode)
297 gst_tag_list_add_value(d->taglist, static_cast<GstTagMergeMode>(mode),
301 int TagList::commentCount()
const
303 return gst_tag_list_get_tag_size(d->taglist, GST_TAG_COMMENT);
306 QString TagList::extendedComment(
int index)
const
308 return getStringTag(d->taglist, GST_TAG_EXTENDED_COMMENT, index);
311 void TagList::setExtendedComment(
const QString & value, TagMergeMode mode)
313 gst_tag_list_add_value(d->taglist, static_cast<GstTagMergeMode>(mode),
317 int TagList::extendedCommentCount()
const
319 return gst_tag_list_get_tag_size(d->taglist, GST_TAG_EXTENDED_COMMENT);
322 quint32 TagList::trackNumber()
const
324 return getUintTag(d->taglist, GST_TAG_TRACK_NUMBER, 0);
327 void TagList::setTrackNumber(quint32 value)
329 gst_tag_list_add(d->taglist, GST_TAG_MERGE_REPLACE_ALL, GST_TAG_TRACK_NUMBER, value, NULL);
332 quint32 TagList::trackCount()
const
334 return getUintTag(d->taglist, GST_TAG_TRACK_COUNT, 0);
337 void TagList::setTrackCount(quint32 value)
339 gst_tag_list_add(d->taglist, GST_TAG_MERGE_REPLACE_ALL, GST_TAG_TRACK_COUNT, value, NULL);
342 quint32 TagList::albumVolumeNumber()
const
344 return getUintTag(d->taglist, GST_TAG_ALBUM_VOLUME_NUMBER, 0);
347 void TagList::setAlbumVolumeNumber(quint32 value)
349 gst_tag_list_add(d->taglist, GST_TAG_MERGE_REPLACE_ALL, GST_TAG_ALBUM_VOLUME_NUMBER, value, NULL);
352 quint32 TagList::albumVolumeCount()
const
354 return getUintTag(d->taglist, GST_TAG_ALBUM_VOLUME_COUNT, 0);
357 void TagList::setAlbumVolumeCount(quint32 value)
359 gst_tag_list_add(d->taglist, GST_TAG_MERGE_REPLACE_ALL, GST_TAG_ALBUM_VOLUME_COUNT, value, NULL);
362 QString TagList::location(
int index)
const
364 return getStringTag(d->taglist, GST_TAG_LOCATION, index);
367 void TagList::setLocation(
const QString & value, TagMergeMode mode)
369 gst_tag_list_add_value(d->taglist, static_cast<GstTagMergeMode>(mode),
373 int TagList::locationCount()
const
375 return gst_tag_list_get_tag_size(d->taglist, GST_TAG_LOCATION);
378 QString TagList::homepage(
int index)
const
380 return getStringTag(d->taglist, GST_TAG_HOMEPAGE, index);
383 void TagList::setHomepage(
const QString & value, TagMergeMode mode)
385 gst_tag_list_add_value(d->taglist, static_cast<GstTagMergeMode>(mode),
389 int TagList::homepageCount()
const
391 return gst_tag_list_get_tag_size(d->taglist, GST_TAG_HOMEPAGE);
394 QString TagList::description(
int index)
const
396 return getStringTag(d->taglist, GST_TAG_DESCRIPTION, index);
399 void TagList::setDescription(
const QString & value, TagMergeMode mode)
401 gst_tag_list_add_value(d->taglist, static_cast<GstTagMergeMode>(mode),
405 int TagList::descriptionCount()
const
407 return gst_tag_list_get_tag_size(d->taglist, GST_TAG_DESCRIPTION);
410 QString TagList::version()
const
412 return getStringTag(d->taglist, GST_TAG_VERSION, 0);
415 void TagList::setVersion(
const QString & value)
417 gst_tag_list_add_value(d->taglist, GST_TAG_MERGE_REPLACE_ALL,
421 QString TagList::isrc()
const
423 return getStringTag(d->taglist, GST_TAG_ISRC, 0);
426 void TagList::setIsrc(
const QString & value)
428 gst_tag_list_add_value(d->taglist, GST_TAG_MERGE_REPLACE_ALL,
432 QString TagList::organization(
int index)
const
434 return getStringTag(d->taglist, GST_TAG_ORGANIZATION, index);
437 void TagList::setOrganization(
const QString & value, TagMergeMode mode)
439 gst_tag_list_add_value(d->taglist, static_cast<GstTagMergeMode>(mode),
443 int TagList::organizationCount()
const
445 return gst_tag_list_get_tag_size(d->taglist, GST_TAG_ORGANIZATION);
448 QString TagList::copyright()
const
450 return getStringTag(d->taglist, GST_TAG_COPYRIGHT, 0);
453 void TagList::setCopyright(
const QString & value)
455 gst_tag_list_add_value(d->taglist, GST_TAG_MERGE_REPLACE_ALL,
459 QString TagList::copyrightUri()
const
461 return getStringTag(d->taglist, GST_TAG_COPYRIGHT_URI, 0);
464 void TagList::setCopyrightUri(
const QString & value)
466 gst_tag_list_add_value(d->taglist, GST_TAG_MERGE_REPLACE_ALL,
470 QString TagList::contact(
int index)
const
472 return getStringTag(d->taglist, GST_TAG_CONTACT, index);
475 void TagList::setContact(
const QString & value, TagMergeMode mode)
477 gst_tag_list_add_value(d->taglist, static_cast<GstTagMergeMode>(mode),
481 int TagList::contactCount()
const
483 return gst_tag_list_get_tag_size(d->taglist, GST_TAG_CONTACT);
486 QString TagList::license()
const
488 return getStringTag(d->taglist, GST_TAG_LICENSE, 0);
491 void TagList::setLicense(
const QString & value)
493 gst_tag_list_add_value(d->taglist, GST_TAG_MERGE_REPLACE_ALL,
497 QString TagList::licenseUri()
const
499 return getStringTag(d->taglist, GST_TAG_LICENSE_URI, 0);
502 void TagList::setLicenseUri(
const QString & value)
504 gst_tag_list_add_value(d->taglist, GST_TAG_MERGE_REPLACE_ALL,
508 QString TagList::performer(
int index)
const
510 return getStringTag(d->taglist, GST_TAG_PERFORMER, index);
513 void TagList::setPerformer(
const QString & value, TagMergeMode mode)
515 gst_tag_list_add_value(d->taglist, static_cast<GstTagMergeMode>(mode),
519 int TagList::performerCount()
const
521 return gst_tag_list_get_tag_size(d->taglist, GST_TAG_PERFORMER);
524 quint64 TagList::duration()
const
527 gst_tag_list_get_uint64_index(d->taglist, GST_TAG_DURATION, 0, &value);
531 void TagList::setDuration(quint64 value)
533 gst_tag_list_add(d->taglist, GST_TAG_MERGE_REPLACE_ALL, GST_TAG_DURATION, value, NULL);
536 QString TagList::codec()
const
538 return getStringTag(d->taglist, GST_TAG_CODEC, 0);
541 void TagList::setCodec(
const QString & value)
543 gst_tag_list_add_value(d->taglist, GST_TAG_MERGE_REPLACE_ALL,
547 QString TagList::videoCodec()
const
549 return getStringTag(d->taglist, GST_TAG_VIDEO_CODEC, 0);
552 void TagList::setVideoCodec(
const QString & value)
554 gst_tag_list_add_value(d->taglist, GST_TAG_MERGE_REPLACE_ALL,
558 QString TagList::audioCodec()
const
560 return getStringTag(d->taglist, GST_TAG_AUDIO_CODEC, 0);
563 void TagList::setAudioCodec(
const QString & value)
565 gst_tag_list_add_value(d->taglist, GST_TAG_MERGE_REPLACE_ALL,
569 QString TagList::subtitleCodec()
const
571 return getStringTag(d->taglist, GST_TAG_SUBTITLE_CODEC, 0);
574 void TagList::setSubtitleCodec(
const QString & value)
576 gst_tag_list_add_value(d->taglist, GST_TAG_MERGE_REPLACE_ALL,
580 QString TagList::containerFormat()
const
582 return getStringTag(d->taglist, GST_TAG_CONTAINER_FORMAT, 0);
585 void TagList::setContainerFormat(
const QString & value)
587 gst_tag_list_add_value(d->taglist, GST_TAG_MERGE_REPLACE_ALL,
591 quint32 TagList::bitrate()
const
593 return getUintTag(d->taglist, GST_TAG_BITRATE, 0);
596 void TagList::setBitrate(quint32 value)
598 gst_tag_list_add(d->taglist, GST_TAG_MERGE_REPLACE_ALL, GST_TAG_BITRATE, value, NULL);
601 quint32 TagList::nominalBitrate()
const
603 return getUintTag(d->taglist, GST_TAG_NOMINAL_BITRATE, 0);
606 void TagList::setNominalBitrate(quint32 value)
608 gst_tag_list_add(d->taglist, GST_TAG_MERGE_REPLACE_ALL, GST_TAG_NOMINAL_BITRATE, value, NULL);
611 quint32 TagList::minimumBitrate()
const
613 return getUintTag(d->taglist, GST_TAG_MINIMUM_BITRATE, 0);
616 void TagList::setMinimumBitrate(quint32 value)
618 gst_tag_list_add(d->taglist, GST_TAG_MERGE_REPLACE_ALL, GST_TAG_MINIMUM_BITRATE, value, NULL);
621 quint32 TagList::maximumBitrate()
const
623 return getUintTag(d->taglist, GST_TAG_MAXIMUM_BITRATE, 0);
626 void TagList::setMaximumBitrate(quint32 value)
628 gst_tag_list_add(d->taglist, GST_TAG_MERGE_REPLACE_ALL, GST_TAG_MAXIMUM_BITRATE, value, NULL);
631 quint32 TagList::serial()
const
633 return getUintTag(d->taglist, GST_TAG_SERIAL, 0);
636 void TagList::setSerial(quint32 value)
638 gst_tag_list_add(d->taglist, GST_TAG_MERGE_REPLACE_ALL, GST_TAG_SERIAL, value, NULL);
641 QString TagList::encoder()
const
643 return getStringTag(d->taglist, GST_TAG_ENCODER, 0);
646 void TagList::setEncoder(
const QString & value)
648 gst_tag_list_add_value(d->taglist, GST_TAG_MERGE_REPLACE_ALL,
652 quint32 TagList::encoderVersion()
const
654 return getUintTag(d->taglist, GST_TAG_ENCODER_VERSION, 0);
657 void TagList::setEncoderVersion(quint32 value)
659 gst_tag_list_add(d->taglist, GST_TAG_MERGE_REPLACE_ALL, GST_TAG_ENCODER_VERSION, value, NULL);
662 double TagList::trackGain()
const
664 return getDoubleTag(d->taglist, GST_TAG_TRACK_GAIN, 0);
667 void TagList::setTrackGain(
double value)
669 gst_tag_list_add(d->taglist, GST_TAG_MERGE_REPLACE_ALL, GST_TAG_TRACK_GAIN, value, NULL);
672 double TagList::trackPeak()
const
674 return getDoubleTag(d->taglist, GST_TAG_TRACK_PEAK, 0);
677 void TagList::setTrackPeak(
double value)
679 gst_tag_list_add(d->taglist, GST_TAG_MERGE_REPLACE_ALL, GST_TAG_TRACK_PEAK, value, NULL);
682 double TagList::albumGain()
const
684 return getDoubleTag(d->taglist, GST_TAG_ALBUM_GAIN, 0);
687 void TagList::setAlbumGain(
double value)
689 gst_tag_list_add(d->taglist, GST_TAG_MERGE_REPLACE_ALL, GST_TAG_ALBUM_GAIN, value, NULL);
692 double TagList::albumPeak()
const
694 return getDoubleTag(d->taglist, GST_TAG_ALBUM_PEAK, 0);
697 void TagList::setAlbumPeak(
double value)
699 gst_tag_list_add(d->taglist, GST_TAG_MERGE_REPLACE_ALL, GST_TAG_ALBUM_PEAK, value, NULL);
702 double TagList::referenceLevel()
const
704 return getDoubleTag(d->taglist, GST_TAG_REFERENCE_LEVEL, 0);
707 void TagList::setReferenceLevel(
double value)
709 gst_tag_list_add(d->taglist, GST_TAG_MERGE_REPLACE_ALL, GST_TAG_REFERENCE_LEVEL, value, NULL);
712 QString TagList::languageCode()
const
714 return getStringTag(d->taglist, GST_TAG_LANGUAGE_CODE, 0);
717 void TagList::setLanguageCode(
const QString & value)
719 gst_tag_list_add_value(d->taglist, GST_TAG_MERGE_REPLACE_ALL,
723 BufferPtr TagList::image(
int index)
const
725 return getBufferTag(d->taglist, GST_TAG_IMAGE, index);
728 void TagList::setImage(
const BufferPtr & value, TagMergeMode mode)
730 gst_tag_list_add_value(d->taglist, static_cast<GstTagMergeMode>(mode),
734 int TagList::imageCount()
const
736 return gst_tag_list_get_tag_size(d->taglist, GST_TAG_IMAGE);
739 BufferPtr TagList::previewImage()
const
741 return getBufferTag(d->taglist, GST_TAG_PREVIEW_IMAGE, 0);
744 void TagList::setPreviewImage(
const BufferPtr & value)
746 gst_tag_list_add_value(d->taglist, GST_TAG_MERGE_REPLACE_ALL,
750 BufferPtr TagList::attachment(
int index)
const
752 return getBufferTag(d->taglist, GST_TAG_ATTACHMENT, index);
755 void TagList::setAttachment(
const BufferPtr & value, TagMergeMode mode)
757 gst_tag_list_add_value(d->taglist, static_cast<GstTagMergeMode>(mode),
761 int TagList::attachmentCount()
const
763 return gst_tag_list_get_tag_size(d->taglist, GST_TAG_ATTACHMENT);
766 double TagList::beatsPerMinute()
const
768 return getDoubleTag(d->taglist, GST_TAG_BEATS_PER_MINUTE, 0);
771 void TagList::setBeatsPerMinute(
double value)
773 gst_tag_list_add(d->taglist, GST_TAG_MERGE_REPLACE_ALL, GST_TAG_BEATS_PER_MINUTE, value, NULL);
776 QString TagList::keywords(
int index)
const
778 return getStringTag(d->taglist, GST_TAG_KEYWORDS, index);
781 void TagList::setKeywords(
const QString & value, TagMergeMode mode)
783 gst_tag_list_add_value(d->taglist, static_cast<GstTagMergeMode>(mode),
787 int TagList::keywordsCount()
const
789 return gst_tag_list_get_tag_size(d->taglist, GST_TAG_KEYWORDS);
792 QString TagList::geoLocationName()
const
794 return getStringTag(d->taglist, GST_TAG_GEO_LOCATION_NAME, 0);
797 void TagList::seGeoLocationName(
const QString & value)
799 gst_tag_list_add_value(d->taglist, GST_TAG_MERGE_REPLACE_ALL,
803 double TagList::geoLocationLatitude()
const
805 return getDoubleTag(d->taglist, GST_TAG_GEO_LOCATION_LATITUDE, 0);
808 void TagList::setGeoLocationLatitude(
double value)
810 gst_tag_list_add(d->taglist, GST_TAG_MERGE_REPLACE_ALL,
811 GST_TAG_GEO_LOCATION_LATITUDE, value, NULL);
814 double TagList::geoLocationLongitude()
const
816 return getDoubleTag(d->taglist, GST_TAG_GEO_LOCATION_LONGITUDE, 0);
819 void TagList::setGeoLocationLongitude(
double value)
821 gst_tag_list_add(d->taglist, GST_TAG_MERGE_REPLACE_ALL,
822 GST_TAG_GEO_LOCATION_LONGITUDE, value, NULL);
825 double TagList::geoLocationElevation()
const
827 return getDoubleTag(d->taglist, GST_TAG_GEO_LOCATION_ELEVATION, 0);
830 void TagList::setGeoLocationElevation(
double value)
832 gst_tag_list_add(d->taglist, GST_TAG_MERGE_REPLACE_ALL,
833 GST_TAG_GEO_LOCATION_ELEVATION, value, NULL);
836 QString TagList::geoLocationCountry()
const
838 return getStringTag(d->taglist, GST_TAG_GEO_LOCATION_COUNTRY, 0);
841 void TagList::setGeoLocationCountry(
const QString & value)
843 gst_tag_list_add_value(d->taglist, GST_TAG_MERGE_REPLACE_ALL,
847 QString TagList::geoLocationCity()
const
849 return getStringTag(d->taglist, GST_TAG_GEO_LOCATION_CITY, 0);
852 void TagList::setGeoLocationCity(
const QString & value)
854 gst_tag_list_add_value(d->taglist, GST_TAG_MERGE_REPLACE_ALL,
858 QString TagList::geoLocationSublocation()
const
860 return getStringTag(d->taglist, GST_TAG_GEO_LOCATION_SUBLOCATION, 0);
863 void TagList::setGeoLocationSublocation(
const QString & value)
865 gst_tag_list_add_value(d->taglist, GST_TAG_MERGE_REPLACE_ALL,
869 double TagList::geoLocationMovementSpeed()
const
871 return getDoubleTag(d->taglist, GST_TAG_GEO_LOCATION_MOVEMENT_SPEED, 0);
874 void TagList::setGeoLocationMovementSpeed(
double value)
876 gst_tag_list_add(d->taglist, GST_TAG_MERGE_REPLACE_ALL,
877 GST_TAG_GEO_LOCATION_MOVEMENT_SPEED, value, NULL);
880 double TagList::geoLocationMovementDirection()
const
882 return getDoubleTag(d->taglist, GST_TAG_GEO_LOCATION_MOVEMENT_DIRECTION, 0);
885 void TagList::setGeoLocationMovementDirection(
double value)
887 gst_tag_list_add(d->taglist, GST_TAG_MERGE_REPLACE_ALL,
888 GST_TAG_GEO_LOCATION_MOVEMENT_DIRECTION, value, NULL);
891 double TagList::geoLocationCaptureDirection()
const
893 return getDoubleTag(d->taglist, GST_TAG_GEO_LOCATION_CAPTURE_DIRECTION, 0);
896 void TagList::setGeoLocationCaptureDirector(
double value)
898 gst_tag_list_add(d->taglist, GST_TAG_MERGE_REPLACE_ALL,
899 GST_TAG_GEO_LOCATION_CAPTURE_DIRECTION, value, NULL);
902 QString TagList::showName(
int index)
const
904 return getStringTag(d->taglist, GST_TAG_SHOW_NAME, index);
907 void TagList::setShowName(
const QString & value, TagMergeMode mode)
909 gst_tag_list_add_value(d->taglist, static_cast<GstTagMergeMode>(mode),
913 int TagList::showNameCount()
const
915 return gst_tag_list_get_tag_size(d->taglist, GST_TAG_SHOW_NAME);
918 QString TagList::showSortName()
const
920 return getStringTag(d->taglist, GST_TAG_SHOW_SORTNAME, 0);
923 void TagList::setShowSortName(
const QString & value)
925 gst_tag_list_add_value(d->taglist, GST_TAG_MERGE_REPLACE_ALL,
929 quint32 TagList::showEpisodeNumber()
const
931 return getUintTag(d->taglist, GST_TAG_SHOW_EPISODE_NUMBER, 0);
934 void TagList::setShowEpisodeNumber(quint32 value)
936 gst_tag_list_add(d->taglist, GST_TAG_MERGE_REPLACE_ALL, GST_TAG_SHOW_EPISODE_NUMBER, value, NULL);
939 quint32 TagList::showSeasonNumber()
const
941 return getUintTag(d->taglist, GST_TAG_SHOW_SEASON_NUMBER, 0);
944 void TagList::setShowSeasonNumber(quint32 value)
946 gst_tag_list_add(d->taglist, GST_TAG_MERGE_REPLACE_ALL, GST_TAG_SHOW_SEASON_NUMBER, value, NULL);
949 QString TagList::lyrics(
int index)
const
951 return getStringTag(d->taglist, GST_TAG_LYRICS, index);
954 void TagList::setLyrics(
const QString & value, TagMergeMode mode)
956 gst_tag_list_add_value(d->taglist, static_cast<GstTagMergeMode>(mode),
960 int TagList::lyricsCount()
const
962 return gst_tag_list_get_tag_size(d->taglist, GST_TAG_LYRICS);
965 QString TagList::composerSortName()
const
967 return getStringTag(d->taglist, GST_TAG_COMPOSER_SORTNAME, 0);
970 void TagList::setComposerSortName(
const QString & value)
972 gst_tag_list_add_value(d->taglist, GST_TAG_MERGE_REPLACE_ALL,
976 QString TagList::grouping()
const
978 return getStringTag(d->taglist, GST_TAG_GROUPING, 0);
981 void TagList::setGrouping(
const QString & value)
983 gst_tag_list_add_value(d->taglist, GST_TAG_MERGE_REPLACE_ALL,
987 quint32 TagList::userRating()
const
989 return getUintTag(d->taglist, GST_TAG_USER_RATING, 0);
992 void TagList::setUserRating(quint32 value)
994 gst_tag_list_add(d->taglist, GST_TAG_MERGE_REPLACE_ALL, GST_TAG_USER_RATING, value, NULL);
997 QString TagList::deviceManufacturer()
const
999 return getStringTag(d->taglist, GST_TAG_DEVICE_MANUFACTURER, 0);
1002 void TagList::setDeviceManufacturer(
const QString & value)
1004 gst_tag_list_add_value(d->taglist, GST_TAG_MERGE_REPLACE_ALL,
1008 QString TagList::deviceModel()
const
1010 return getStringTag(d->taglist, GST_TAG_DEVICE_MODEL, 0);
1013 void TagList::setDeviceModel(
const QString & value)
1015 gst_tag_list_add_value(d->taglist, GST_TAG_MERGE_REPLACE_ALL,
1019 QString TagList::imageOrientation()
const
1021 return getStringTag(d->taglist, GST_TAG_IMAGE_ORIENTATION, 0);
1024 void TagList::setImageOrientation(
const QString & value)
1026 gst_tag_list_add_value(d->taglist, GST_TAG_MERGE_REPLACE_ALL,
1030 double TagList::geoLocationHorizontalError()
const
1032 return getDoubleTag(d->taglist, GST_TAG_GEO_LOCATION_HORIZONTAL_ERROR, 0);
1035 void TagList::setGeoLocationHorizontalError(
double value)
1037 gst_tag_list_add(d->taglist, GST_TAG_MERGE_REPLACE_ALL, GST_TAG_GEO_LOCATION_HORIZONTAL_ERROR, value, NULL);
1040 QString TagList::applicationName()
const
1042 return getStringTag(d->taglist, GST_TAG_APPLICATION_NAME, 0);
1045 void TagList::setApplicationName(
const QString & value)
1047 gst_tag_list_add_value(d->taglist, GST_TAG_MERGE_REPLACE_ALL,
1051 BufferPtr TagList::applicationData()
const
1053 return getBufferTag(d->taglist, GST_TAG_APPLICATION_DATA, 0);
1056 void TagList::setApplicationData(
const BufferPtr & value)
1058 gst_tag_list_add_value(d->taglist, GST_TAG_MERGE_REPLACE_ALL,
1062 QDateTime TagList::dateTime()
const
1064 return tagValue(GST_TAG_DATE_TIME).
get<QDateTime>();
1067 void TagList::setDateTime(
const QDateTime & value)
1069 gst_tag_list_add_value(d->taglist, GST_TAG_MERGE_REPLACE_ALL,
1074 QDebug operator<<(QDebug debug,
const TagList & taglist)
1076 debug.nospace() <<
"QGst::TagList("
1077 << QGlib::Private::stringFromGCharPtr(gst_structure_to_string(taglist)) <<
")";
1078 return debug.space();