22 #include "../QGlib/string_p.h"
24 #include <QtCore/QDebug>
25 #include <QtCore/QDate>
29 QString getStringTag(GstTagList * list,
const gchar * tag,
int index)
32 if (gst_tag_list_get_string_index(list, tag, index, &value)) {
33 return QGlib::Private::stringFromGCharPtr(value);
38 quint32 getUintTag(GstTagList * list,
const gchar * tag,
int index)
41 gst_tag_list_get_uint_index(list, tag, index, &value);
45 double getDoubleTag(GstTagList * list,
const gchar * tag,
int index)
48 gst_tag_list_get_double_index(list, tag, index, &value);
52 SamplePtr getSampleTag(GstTagList * list,
const gchar * tag,
int index)
55 gst_tag_list_get_sample_index(list, tag, index, &s);
62 struct QTGSTREAMER_NO_EXPORT TagList::Data :
public QSharedData
65 Data(
const GstTagList *tl);
66 Data(
const Data & other);
75 taglist = gst_tag_list_new_empty();
78 TagList::Data::Data(
const GstTagList *tl)
81 if (tl && GST_IS_TAG_LIST(tl)) {
82 taglist = gst_tag_list_copy(tl);
84 taglist = gst_tag_list_new_empty();
88 TagList::Data::Data(
const TagList::Data & other)
91 taglist = gst_tag_list_copy(other.taglist);
94 TagList::Data::~Data()
96 gst_tag_list_unref(taglist);
106 TagList::TagList(
const GstTagList *taglist)
107 : d(new Data(taglist))
115 TagList::TagList(
const TagList & other)
120 TagList & TagList::operator=(
const TagList & other)
126 bool TagList::isEmpty()
const
128 return gst_tag_list_is_empty(d->taglist);
131 void TagList::insert(
const TagList & other, TagMergeMode mode)
133 gst_tag_list_insert(d->taglist, other.d->taglist,
static_cast<GstTagMergeMode
>(mode));
137 TagList TagList::merge(
const TagList & firstList,
const TagList & secondList, TagMergeMode mode)
139 GstTagList *taglist = gst_tag_list_merge(firstList, secondList,
140 static_cast<GstTagMergeMode
>(mode));
144 gst_tag_list_unref(tl.d->taglist);
145 tl.d->taglist = taglist;
149 QGlib::Value TagList::tagValue(
const char *tag,
int index)
const
151 return QGlib::Value(gst_tag_list_get_value_index(d->taglist, tag, index));
154 void TagList::setTagValue(
const char *tag,
const QGlib::Value & value, TagMergeMode mode)
156 gst_tag_list_add_value(d->taglist,
static_cast<GstTagMergeMode
>(mode), tag, value);
159 int TagList::tagValueCount(
const char *tag)
const
161 return gst_tag_list_get_tag_size(d->taglist, tag);
164 void TagList::clear()
166 gst_tag_list_unref(d->taglist);
167 d->taglist = gst_tag_list_new_empty();
170 void TagList::removeTag(
const char *tag)
172 gst_tag_list_remove_tag(d->taglist, tag);
175 TagList::operator GstTagList*()
180 TagList::operator
const GstTagList*()
const
185 QString TagList::title(
int index)
const
187 return getStringTag(d->taglist, GST_TAG_TITLE, index);
190 void TagList::setTitle(
const QString & value, TagMergeMode mode)
192 gst_tag_list_add_value(d->taglist,
static_cast<GstTagMergeMode
>(mode),
196 int TagList::titleCount()
const
198 return gst_tag_list_get_tag_size(d->taglist, GST_TAG_TITLE);
201 QString TagList::titleSortName()
const
203 return getStringTag(d->taglist, GST_TAG_TITLE_SORTNAME, 0);
206 void TagList::setTitleSortName(
const QString & value)
208 gst_tag_list_add_value(d->taglist, GST_TAG_MERGE_REPLACE_ALL,
212 QString TagList::artist(
int index)
const
214 return getStringTag(d->taglist, GST_TAG_ARTIST, index);
217 void TagList::setArtist(
const QString & value, TagMergeMode mode)
219 gst_tag_list_add_value(d->taglist,
static_cast<GstTagMergeMode
>(mode),
223 int TagList::artistCount()
const
225 return gst_tag_list_get_tag_size(d->taglist, GST_TAG_ARTIST);
228 QString TagList::artistSortName()
const
230 return getStringTag(d->taglist, GST_TAG_ARTIST_SORTNAME, 0);
233 void TagList::setArtistSortName(
const QString & value)
235 gst_tag_list_add_value(d->taglist, GST_TAG_MERGE_REPLACE_ALL,
239 QString TagList::composer(
int index)
const
241 return getStringTag(d->taglist, GST_TAG_COMPOSER, index);
244 void TagList::setComposer(
const QString & value, TagMergeMode mode)
246 gst_tag_list_add_value(d->taglist,
static_cast<GstTagMergeMode
>(mode),
250 int TagList::composerCount()
const
252 return gst_tag_list_get_tag_size(d->taglist, GST_TAG_COMPOSER);
255 QDate TagList::date()
const
258 if (gst_tag_list_get_date(d->taglist, GST_TAG_DATE, &value)) {
259 QDate ret = QDate::fromJulianDay(g_date_get_julian(value));
266 void TagList::setDate(
const QDate & value)
268 GDate * date = g_date_new_julian(value.toJulianDay());
269 gst_tag_list_add (d->taglist, GST_TAG_MERGE_REPLACE_ALL, GST_TAG_DATE, date, NULL);
272 QString TagList::genre(
int index)
const
274 return getStringTag(d->taglist, GST_TAG_GENRE, index);
277 void TagList::setGenre(
const QString & value, TagMergeMode mode)
279 gst_tag_list_add_value(d->taglist,
static_cast<GstTagMergeMode
>(mode),
283 int TagList::genreCount()
const
285 return gst_tag_list_get_tag_size(d->taglist, GST_TAG_GENRE);
288 QString TagList::comment(
int index)
const
290 return getStringTag(d->taglist, GST_TAG_COMMENT, index);
293 void TagList::setComment(
const QString & value, TagMergeMode mode)
295 gst_tag_list_add_value(d->taglist,
static_cast<GstTagMergeMode
>(mode),
299 int TagList::commentCount()
const
301 return gst_tag_list_get_tag_size(d->taglist, GST_TAG_COMMENT);
304 QString TagList::extendedComment(
int index)
const
306 return getStringTag(d->taglist, GST_TAG_EXTENDED_COMMENT, index);
309 void TagList::setExtendedComment(
const QString & value, TagMergeMode mode)
311 gst_tag_list_add_value(d->taglist,
static_cast<GstTagMergeMode
>(mode),
315 int TagList::extendedCommentCount()
const
317 return gst_tag_list_get_tag_size(d->taglist, GST_TAG_EXTENDED_COMMENT);
320 quint32 TagList::trackNumber()
const
322 return getUintTag(d->taglist, GST_TAG_TRACK_NUMBER, 0);
325 void TagList::setTrackNumber(quint32 value)
327 gst_tag_list_add(d->taglist, GST_TAG_MERGE_REPLACE_ALL, GST_TAG_TRACK_NUMBER, value, NULL);
330 quint32 TagList::trackCount()
const
332 return getUintTag(d->taglist, GST_TAG_TRACK_COUNT, 0);
335 void TagList::setTrackCount(quint32 value)
337 gst_tag_list_add(d->taglist, GST_TAG_MERGE_REPLACE_ALL, GST_TAG_TRACK_COUNT, value, NULL);
340 quint32 TagList::albumVolumeNumber()
const
342 return getUintTag(d->taglist, GST_TAG_ALBUM_VOLUME_NUMBER, 0);
345 void TagList::setAlbumVolumeNumber(quint32 value)
347 gst_tag_list_add(d->taglist, GST_TAG_MERGE_REPLACE_ALL, GST_TAG_ALBUM_VOLUME_NUMBER, value, NULL);
350 quint32 TagList::albumVolumeCount()
const
352 return getUintTag(d->taglist, GST_TAG_ALBUM_VOLUME_COUNT, 0);
355 void TagList::setAlbumVolumeCount(quint32 value)
357 gst_tag_list_add(d->taglist, GST_TAG_MERGE_REPLACE_ALL, GST_TAG_ALBUM_VOLUME_COUNT, value, NULL);
360 QString TagList::location(
int index)
const
362 return getStringTag(d->taglist, GST_TAG_LOCATION, index);
365 void TagList::setLocation(
const QString & value, TagMergeMode mode)
367 gst_tag_list_add_value(d->taglist,
static_cast<GstTagMergeMode
>(mode),
371 int TagList::locationCount()
const
373 return gst_tag_list_get_tag_size(d->taglist, GST_TAG_LOCATION);
376 QString TagList::homepage(
int index)
const
378 return getStringTag(d->taglist, GST_TAG_HOMEPAGE, index);
381 void TagList::setHomepage(
const QString & value, TagMergeMode mode)
383 gst_tag_list_add_value(d->taglist,
static_cast<GstTagMergeMode
>(mode),
387 int TagList::homepageCount()
const
389 return gst_tag_list_get_tag_size(d->taglist, GST_TAG_HOMEPAGE);
392 QString TagList::description(
int index)
const
394 return getStringTag(d->taglist, GST_TAG_DESCRIPTION, index);
397 void TagList::setDescription(
const QString & value, TagMergeMode mode)
399 gst_tag_list_add_value(d->taglist,
static_cast<GstTagMergeMode
>(mode),
403 int TagList::descriptionCount()
const
405 return gst_tag_list_get_tag_size(d->taglist, GST_TAG_DESCRIPTION);
408 QString TagList::version()
const
410 return getStringTag(d->taglist, GST_TAG_VERSION, 0);
413 void TagList::setVersion(
const QString & value)
415 gst_tag_list_add_value(d->taglist, GST_TAG_MERGE_REPLACE_ALL,
419 QString TagList::isrc()
const
421 return getStringTag(d->taglist, GST_TAG_ISRC, 0);
424 void TagList::setIsrc(
const QString & value)
426 gst_tag_list_add_value(d->taglist, GST_TAG_MERGE_REPLACE_ALL,
430 QString TagList::organization(
int index)
const
432 return getStringTag(d->taglist, GST_TAG_ORGANIZATION, index);
435 void TagList::setOrganization(
const QString & value, TagMergeMode mode)
437 gst_tag_list_add_value(d->taglist,
static_cast<GstTagMergeMode
>(mode),
441 int TagList::organizationCount()
const
443 return gst_tag_list_get_tag_size(d->taglist, GST_TAG_ORGANIZATION);
446 QString TagList::copyright()
const
448 return getStringTag(d->taglist, GST_TAG_COPYRIGHT, 0);
451 void TagList::setCopyright(
const QString & value)
453 gst_tag_list_add_value(d->taglist, GST_TAG_MERGE_REPLACE_ALL,
457 QString TagList::copyrightUri()
const
459 return getStringTag(d->taglist, GST_TAG_COPYRIGHT_URI, 0);
462 void TagList::setCopyrightUri(
const QString & value)
464 gst_tag_list_add_value(d->taglist, GST_TAG_MERGE_REPLACE_ALL,
468 QString TagList::contact(
int index)
const
470 return getStringTag(d->taglist, GST_TAG_CONTACT, index);
473 void TagList::setContact(
const QString & value, TagMergeMode mode)
475 gst_tag_list_add_value(d->taglist,
static_cast<GstTagMergeMode
>(mode),
479 int TagList::contactCount()
const
481 return gst_tag_list_get_tag_size(d->taglist, GST_TAG_CONTACT);
484 QString TagList::license()
const
486 return getStringTag(d->taglist, GST_TAG_LICENSE, 0);
489 void TagList::setLicense(
const QString & value)
491 gst_tag_list_add_value(d->taglist, GST_TAG_MERGE_REPLACE_ALL,
495 QString TagList::licenseUri()
const
497 return getStringTag(d->taglist, GST_TAG_LICENSE_URI, 0);
500 void TagList::setLicenseUri(
const QString & value)
502 gst_tag_list_add_value(d->taglist, GST_TAG_MERGE_REPLACE_ALL,
506 QString TagList::performer(
int index)
const
508 return getStringTag(d->taglist, GST_TAG_PERFORMER, index);
511 void TagList::setPerformer(
const QString & value, TagMergeMode mode)
513 gst_tag_list_add_value(d->taglist,
static_cast<GstTagMergeMode
>(mode),
517 int TagList::performerCount()
const
519 return gst_tag_list_get_tag_size(d->taglist, GST_TAG_PERFORMER);
522 quint64 TagList::duration()
const
525 gst_tag_list_get_uint64_index(d->taglist, GST_TAG_DURATION, 0, &value);
529 void TagList::setDuration(quint64 value)
531 gst_tag_list_add(d->taglist, GST_TAG_MERGE_REPLACE_ALL, GST_TAG_DURATION, value, NULL);
534 QString TagList::codec()
const
536 return getStringTag(d->taglist, GST_TAG_CODEC, 0);
539 void TagList::setCodec(
const QString & value)
541 gst_tag_list_add_value(d->taglist, GST_TAG_MERGE_REPLACE_ALL,
545 QString TagList::videoCodec()
const
547 return getStringTag(d->taglist, GST_TAG_VIDEO_CODEC, 0);
550 void TagList::setVideoCodec(
const QString & value)
552 gst_tag_list_add_value(d->taglist, GST_TAG_MERGE_REPLACE_ALL,
556 QString TagList::audioCodec()
const
558 return getStringTag(d->taglist, GST_TAG_AUDIO_CODEC, 0);
561 void TagList::setAudioCodec(
const QString & value)
563 gst_tag_list_add_value(d->taglist, GST_TAG_MERGE_REPLACE_ALL,
567 QString TagList::subtitleCodec()
const
569 return getStringTag(d->taglist, GST_TAG_SUBTITLE_CODEC, 0);
572 void TagList::setSubtitleCodec(
const QString & value)
574 gst_tag_list_add_value(d->taglist, GST_TAG_MERGE_REPLACE_ALL,
578 QString TagList::containerFormat()
const
580 return getStringTag(d->taglist, GST_TAG_CONTAINER_FORMAT, 0);
583 void TagList::setContainerFormat(
const QString & value)
585 gst_tag_list_add_value(d->taglist, GST_TAG_MERGE_REPLACE_ALL,
589 quint32 TagList::bitrate()
const
591 return getUintTag(d->taglist, GST_TAG_BITRATE, 0);
594 void TagList::setBitrate(quint32 value)
596 gst_tag_list_add(d->taglist, GST_TAG_MERGE_REPLACE_ALL, GST_TAG_BITRATE, value, NULL);
599 quint32 TagList::nominalBitrate()
const
601 return getUintTag(d->taglist, GST_TAG_NOMINAL_BITRATE, 0);
604 void TagList::setNominalBitrate(quint32 value)
606 gst_tag_list_add(d->taglist, GST_TAG_MERGE_REPLACE_ALL, GST_TAG_NOMINAL_BITRATE, value, NULL);
609 quint32 TagList::minimumBitrate()
const
611 return getUintTag(d->taglist, GST_TAG_MINIMUM_BITRATE, 0);
614 void TagList::setMinimumBitrate(quint32 value)
616 gst_tag_list_add(d->taglist, GST_TAG_MERGE_REPLACE_ALL, GST_TAG_MINIMUM_BITRATE, value, NULL);
619 quint32 TagList::maximumBitrate()
const
621 return getUintTag(d->taglist, GST_TAG_MAXIMUM_BITRATE, 0);
624 void TagList::setMaximumBitrate(quint32 value)
626 gst_tag_list_add(d->taglist, GST_TAG_MERGE_REPLACE_ALL, GST_TAG_MAXIMUM_BITRATE, value, NULL);
629 quint32 TagList::serial()
const
631 return getUintTag(d->taglist, GST_TAG_SERIAL, 0);
634 void TagList::setSerial(quint32 value)
636 gst_tag_list_add(d->taglist, GST_TAG_MERGE_REPLACE_ALL, GST_TAG_SERIAL, value, NULL);
639 QString TagList::encoder()
const
641 return getStringTag(d->taglist, GST_TAG_ENCODER, 0);
644 void TagList::setEncoder(
const QString & value)
646 gst_tag_list_add_value(d->taglist, GST_TAG_MERGE_REPLACE_ALL,
650 quint32 TagList::encoderVersion()
const
652 return getUintTag(d->taglist, GST_TAG_ENCODER_VERSION, 0);
655 void TagList::setEncoderVersion(quint32 value)
657 gst_tag_list_add(d->taglist, GST_TAG_MERGE_REPLACE_ALL, GST_TAG_ENCODER_VERSION, value, NULL);
660 double TagList::trackGain()
const
662 return getDoubleTag(d->taglist, GST_TAG_TRACK_GAIN, 0);
665 void TagList::setTrackGain(
double value)
667 gst_tag_list_add(d->taglist, GST_TAG_MERGE_REPLACE_ALL, GST_TAG_TRACK_GAIN, value, NULL);
670 double TagList::trackPeak()
const
672 return getDoubleTag(d->taglist, GST_TAG_TRACK_PEAK, 0);
675 void TagList::setTrackPeak(
double value)
677 gst_tag_list_add(d->taglist, GST_TAG_MERGE_REPLACE_ALL, GST_TAG_TRACK_PEAK, value, NULL);
680 double TagList::albumGain()
const
682 return getDoubleTag(d->taglist, GST_TAG_ALBUM_GAIN, 0);
685 void TagList::setAlbumGain(
double value)
687 gst_tag_list_add(d->taglist, GST_TAG_MERGE_REPLACE_ALL, GST_TAG_ALBUM_GAIN, value, NULL);
690 double TagList::albumPeak()
const
692 return getDoubleTag(d->taglist, GST_TAG_ALBUM_PEAK, 0);
695 void TagList::setAlbumPeak(
double value)
697 gst_tag_list_add(d->taglist, GST_TAG_MERGE_REPLACE_ALL, GST_TAG_ALBUM_PEAK, value, NULL);
700 double TagList::referenceLevel()
const
702 return getDoubleTag(d->taglist, GST_TAG_REFERENCE_LEVEL, 0);
705 void TagList::setReferenceLevel(
double value)
707 gst_tag_list_add(d->taglist, GST_TAG_MERGE_REPLACE_ALL, GST_TAG_REFERENCE_LEVEL, value, NULL);
710 QString TagList::languageCode()
const
712 return getStringTag(d->taglist, GST_TAG_LANGUAGE_CODE, 0);
715 void TagList::setLanguageCode(
const QString & value)
717 gst_tag_list_add_value(d->taglist, GST_TAG_MERGE_REPLACE_ALL,
721 SamplePtr TagList::image(
int index)
const
723 return getSampleTag(d->taglist, GST_TAG_IMAGE, index);
726 void TagList::setImage(
const SamplePtr & value, TagMergeMode mode)
728 gst_tag_list_add_value(d->taglist,
static_cast<GstTagMergeMode
>(mode),
732 int TagList::imageCount()
const
734 return gst_tag_list_get_tag_size(d->taglist, GST_TAG_IMAGE);
737 SamplePtr TagList::previewImage()
const
739 return getSampleTag(d->taglist, GST_TAG_PREVIEW_IMAGE, 0);
742 void TagList::setPreviewImage(
const SamplePtr & value)
744 gst_tag_list_add_value(d->taglist, GST_TAG_MERGE_REPLACE_ALL,
748 SamplePtr TagList::attachment(
int index)
const
750 return getSampleTag(d->taglist, GST_TAG_ATTACHMENT, index);
753 void TagList::setAttachment(
const SamplePtr & value, TagMergeMode mode)
755 gst_tag_list_add_value(d->taglist,
static_cast<GstTagMergeMode
>(mode),
759 int TagList::attachmentCount()
const
761 return gst_tag_list_get_tag_size(d->taglist, GST_TAG_ATTACHMENT);
764 double TagList::beatsPerMinute()
const
766 return getDoubleTag(d->taglist, GST_TAG_BEATS_PER_MINUTE, 0);
769 void TagList::setBeatsPerMinute(
double value)
771 gst_tag_list_add(d->taglist, GST_TAG_MERGE_REPLACE_ALL, GST_TAG_BEATS_PER_MINUTE, value, NULL);
774 QString TagList::keywords(
int index)
const
776 return getStringTag(d->taglist, GST_TAG_KEYWORDS, index);
779 void TagList::setKeywords(
const QString & value, TagMergeMode mode)
781 gst_tag_list_add_value(d->taglist,
static_cast<GstTagMergeMode
>(mode),
785 int TagList::keywordsCount()
const
787 return gst_tag_list_get_tag_size(d->taglist, GST_TAG_KEYWORDS);
790 QString TagList::geoLocationName()
const
792 return getStringTag(d->taglist, GST_TAG_GEO_LOCATION_NAME, 0);
795 void TagList::seGeoLocationName(
const QString & value)
797 gst_tag_list_add_value(d->taglist, GST_TAG_MERGE_REPLACE_ALL,
801 double TagList::geoLocationLatitude()
const
803 return getDoubleTag(d->taglist, GST_TAG_GEO_LOCATION_LATITUDE, 0);
806 void TagList::setGeoLocationLatitude(
double value)
808 gst_tag_list_add(d->taglist, GST_TAG_MERGE_REPLACE_ALL,
809 GST_TAG_GEO_LOCATION_LATITUDE, value, NULL);
812 double TagList::geoLocationLongitude()
const
814 return getDoubleTag(d->taglist, GST_TAG_GEO_LOCATION_LONGITUDE, 0);
817 void TagList::setGeoLocationLongitude(
double value)
819 gst_tag_list_add(d->taglist, GST_TAG_MERGE_REPLACE_ALL,
820 GST_TAG_GEO_LOCATION_LONGITUDE, value, NULL);
823 double TagList::geoLocationElevation()
const
825 return getDoubleTag(d->taglist, GST_TAG_GEO_LOCATION_ELEVATION, 0);
828 void TagList::setGeoLocationElevation(
double value)
830 gst_tag_list_add(d->taglist, GST_TAG_MERGE_REPLACE_ALL,
831 GST_TAG_GEO_LOCATION_ELEVATION, value, NULL);
834 QString TagList::geoLocationCountry()
const
836 return getStringTag(d->taglist, GST_TAG_GEO_LOCATION_COUNTRY, 0);
839 void TagList::setGeoLocationCountry(
const QString & value)
841 gst_tag_list_add_value(d->taglist, GST_TAG_MERGE_REPLACE_ALL,
845 QString TagList::geoLocationCity()
const
847 return getStringTag(d->taglist, GST_TAG_GEO_LOCATION_CITY, 0);
850 void TagList::setGeoLocationCity(
const QString & value)
852 gst_tag_list_add_value(d->taglist, GST_TAG_MERGE_REPLACE_ALL,
856 QString TagList::geoLocationSublocation()
const
858 return getStringTag(d->taglist, GST_TAG_GEO_LOCATION_SUBLOCATION, 0);
861 void TagList::setGeoLocationSublocation(
const QString & value)
863 gst_tag_list_add_value(d->taglist, GST_TAG_MERGE_REPLACE_ALL,
867 double TagList::geoLocationMovementSpeed()
const
869 return getDoubleTag(d->taglist, GST_TAG_GEO_LOCATION_MOVEMENT_SPEED, 0);
872 void TagList::setGeoLocationMovementSpeed(
double value)
874 gst_tag_list_add(d->taglist, GST_TAG_MERGE_REPLACE_ALL,
875 GST_TAG_GEO_LOCATION_MOVEMENT_SPEED, value, NULL);
878 double TagList::geoLocationMovementDirection()
const
880 return getDoubleTag(d->taglist, GST_TAG_GEO_LOCATION_MOVEMENT_DIRECTION, 0);
883 void TagList::setGeoLocationMovementDirection(
double value)
885 gst_tag_list_add(d->taglist, GST_TAG_MERGE_REPLACE_ALL,
886 GST_TAG_GEO_LOCATION_MOVEMENT_DIRECTION, value, NULL);
889 double TagList::geoLocationCaptureDirection()
const
891 return getDoubleTag(d->taglist, GST_TAG_GEO_LOCATION_CAPTURE_DIRECTION, 0);
894 void TagList::setGeoLocationCaptureDirector(
double value)
896 gst_tag_list_add(d->taglist, GST_TAG_MERGE_REPLACE_ALL,
897 GST_TAG_GEO_LOCATION_CAPTURE_DIRECTION, value, NULL);
900 QString TagList::showName(
int index)
const
902 return getStringTag(d->taglist, GST_TAG_SHOW_NAME, index);
905 void TagList::setShowName(
const QString & value, TagMergeMode mode)
907 gst_tag_list_add_value(d->taglist,
static_cast<GstTagMergeMode
>(mode),
911 int TagList::showNameCount()
const
913 return gst_tag_list_get_tag_size(d->taglist, GST_TAG_SHOW_NAME);
916 QString TagList::showSortName()
const
918 return getStringTag(d->taglist, GST_TAG_SHOW_SORTNAME, 0);
921 void TagList::setShowSortName(
const QString & value)
923 gst_tag_list_add_value(d->taglist, GST_TAG_MERGE_REPLACE_ALL,
927 quint32 TagList::showEpisodeNumber()
const
929 return getUintTag(d->taglist, GST_TAG_SHOW_EPISODE_NUMBER, 0);
932 void TagList::setShowEpisodeNumber(quint32 value)
934 gst_tag_list_add(d->taglist, GST_TAG_MERGE_REPLACE_ALL, GST_TAG_SHOW_EPISODE_NUMBER, value, NULL);
937 quint32 TagList::showSeasonNumber()
const
939 return getUintTag(d->taglist, GST_TAG_SHOW_SEASON_NUMBER, 0);
942 void TagList::setShowSeasonNumber(quint32 value)
944 gst_tag_list_add(d->taglist, GST_TAG_MERGE_REPLACE_ALL, GST_TAG_SHOW_SEASON_NUMBER, value, NULL);
947 QString TagList::lyrics(
int index)
const
949 return getStringTag(d->taglist, GST_TAG_LYRICS, index);
952 void TagList::setLyrics(
const QString & value, TagMergeMode mode)
954 gst_tag_list_add_value(d->taglist,
static_cast<GstTagMergeMode
>(mode),
958 int TagList::lyricsCount()
const
960 return gst_tag_list_get_tag_size(d->taglist, GST_TAG_LYRICS);
963 QString TagList::composerSortName()
const
965 return getStringTag(d->taglist, GST_TAG_COMPOSER_SORTNAME, 0);
968 void TagList::setComposerSortName(
const QString & value)
970 gst_tag_list_add_value(d->taglist, GST_TAG_MERGE_REPLACE_ALL,
974 QString TagList::grouping()
const
976 return getStringTag(d->taglist, GST_TAG_GROUPING, 0);
979 void TagList::setGrouping(
const QString & value)
981 gst_tag_list_add_value(d->taglist, GST_TAG_MERGE_REPLACE_ALL,
985 quint32 TagList::userRating()
const
987 return getUintTag(d->taglist, GST_TAG_USER_RATING, 0);
990 void TagList::setUserRating(quint32 value)
992 gst_tag_list_add(d->taglist, GST_TAG_MERGE_REPLACE_ALL, GST_TAG_USER_RATING, value, NULL);
995 QString TagList::deviceManufacturer()
const
997 return getStringTag(d->taglist, GST_TAG_DEVICE_MANUFACTURER, 0);
1000 void TagList::setDeviceManufacturer(
const QString & value)
1002 gst_tag_list_add_value(d->taglist, GST_TAG_MERGE_REPLACE_ALL,
1006 QString TagList::deviceModel()
const
1008 return getStringTag(d->taglist, GST_TAG_DEVICE_MODEL, 0);
1011 void TagList::setDeviceModel(
const QString & value)
1013 gst_tag_list_add_value(d->taglist, GST_TAG_MERGE_REPLACE_ALL,
1017 QString TagList::imageOrientation()
const
1019 return getStringTag(d->taglist, GST_TAG_IMAGE_ORIENTATION, 0);
1022 void TagList::setImageOrientation(
const QString & value)
1024 gst_tag_list_add_value(d->taglist, GST_TAG_MERGE_REPLACE_ALL,
1028 double TagList::geoLocationHorizontalError()
const
1030 return getDoubleTag(d->taglist, GST_TAG_GEO_LOCATION_HORIZONTAL_ERROR, 0);
1033 void TagList::setGeoLocationHorizontalError(
double value)
1035 gst_tag_list_add(d->taglist, GST_TAG_MERGE_REPLACE_ALL, GST_TAG_GEO_LOCATION_HORIZONTAL_ERROR, value, NULL);
1038 QString TagList::applicationName()
const
1040 return getStringTag(d->taglist, GST_TAG_APPLICATION_NAME, 0);
1043 void TagList::setApplicationName(
const QString & value)
1045 gst_tag_list_add_value(d->taglist, GST_TAG_MERGE_REPLACE_ALL,
1049 SamplePtr TagList::applicationData()
const
1051 return getSampleTag(d->taglist, GST_TAG_APPLICATION_DATA, 0);
1054 void TagList::setApplicationData(
const SamplePtr & value)
1056 gst_tag_list_add_value(d->taglist, GST_TAG_MERGE_REPLACE_ALL,
1060 QDateTime TagList::dateTime()
const
1062 return tagValue(GST_TAG_DATE_TIME).get<QDateTime>();
1065 void TagList::setDateTime(
const QDateTime & value)
1067 gst_tag_list_add_value(d->taglist, GST_TAG_MERGE_REPLACE_ALL,
1072 QDebug operator<<(QDebug debug,
const TagList & taglist)
1074 debug.nospace() <<
"QGst::TagList("
1075 << QGlib::Private::stringFromGCharPtr(gst_tag_list_to_string(taglist)) <<
")";
1076 return debug.space();
static RefPointer< T > wrap(typename T::CType *nativePtr, bool increaseRef=true)
Wrapper class for GValue.
static Value create(const T &data)
Wrappers for GStreamer classes.