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