318 |
302 |
319 player.setMedia(mediaContent); |
303 player.setMedia(mediaContent); |
320 QTest::qWait(700); |
304 QTest::qWait(700); |
321 |
305 |
322 if (player.isMetaDataAvailable()) { |
306 if (player.isMetaDataAvailable()) { |
323 QList<QtMediaServices::MetaData> metaDataKeys = player.availableMetaData(); |
307 QList<QtMultimedia::MetaData> metaDataKeys = player.availableMetaData(); |
324 QEXPECT_FAIL("", "metaDataKeys.count() failed: ", Continue); |
308 QEXPECT_FAIL("", "metaDataKeys.count() failed: ", Continue); |
325 QVERIFY(metaDataKeys.count() > 0); |
309 QVERIFY(metaDataKeys.count() > 0); |
326 // qWarning() << "metaDataKeys.count: " << metaDataKeys.count(); |
310 // qWarning() << "metaDataKeys.count: " << metaDataKeys.count(); |
327 QEXPECT_FAIL("", "metaDataKeys.contains(QtMediaServices::AlbumArtist) failed: ", Continue); |
311 QEXPECT_FAIL("", "metaDataKeys.contains(QtMultimedia::AlbumArtist) failed: ", Continue); |
328 QVERIFY(metaDataKeys.contains(QtMediaServices::AlbumArtist)); |
312 QVERIFY(metaDataKeys.contains(QtMultimedia::AlbumArtist)); |
329 QEXPECT_FAIL("", "metaDataKeys.contains(QtMediaServices::Title) failed: ", Continue); |
313 QEXPECT_FAIL("", "metaDataKeys.contains(QtMultimedia::Title) failed: ", Continue); |
330 QVERIFY(metaDataKeys.contains(QtMediaServices::Title)); |
314 QVERIFY(metaDataKeys.contains(QtMultimedia::Title)); |
331 } |
|
332 } |
|
333 |
|
334 void tst_QMediaObject::setMetaData() |
|
335 { |
|
336 QFETCH_GLOBAL(QMediaContent, mediaContent); |
|
337 // qWarning() << mediaContent.canonicalUrl(); |
|
338 QMediaPlayer player; |
|
339 |
|
340 player.setMedia(mediaContent); |
|
341 QTest::qWait(700); |
|
342 |
|
343 QString title("Titletest"); |
|
344 if (player.isMetaDataWritable()) { |
|
345 player.setMetaData(QtMediaServices::Title, title); |
|
346 QCOMPARE(player.metaData(QtMediaServices::Title).toString(), title); |
|
347 } |
315 } |
348 } |
316 } |
349 |
317 |
350 void tst_QMediaObject::extendedMetaData() |
318 void tst_QMediaObject::extendedMetaData() |
351 { |
319 { |
383 /* qWarning() << "metaDataKeys.count: " << metaDataKeys.count(); |
351 /* qWarning() << "metaDataKeys.count: " << metaDataKeys.count(); |
384 int count = metaDataKeys.count(); |
352 int count = metaDataKeys.count(); |
385 count = count-1; |
353 count = count-1; |
386 int i = 0; |
354 int i = 0; |
387 while(count >= i) |
355 while(count >= i) |
388 { |
356 { |
389 qWarning() << "metaDataKeys " << i <<". " << metaDataKeys.at(i); |
357 qWarning() << "metaDataKeys " << i <<". " << metaDataKeys.at(i); |
390 i++; |
358 i++; |
391 }*/ |
359 }*/ |
392 QEXPECT_FAIL("", "metaDataKeys.contains(QtMediaServices::AlbumArtist) failed: ", Continue); |
360 QEXPECT_FAIL("", "metaDataKeys.contains(QtMultimedia::AlbumArtist) failed: ", Continue); |
393 QVERIFY(metaDataKeys.contains(metaDataKeyAsString(QtMediaServices::AlbumArtist))); |
361 QVERIFY(metaDataKeys.contains(metaDataKeyAsString(QtMultimedia::AlbumArtist))); |
394 QEXPECT_FAIL("", "metaDataKeys.contains(QtMediaServices::AlbumArtist) failed: ", Continue); |
362 QEXPECT_FAIL("", "metaDataKeys.contains(QtMultimedia::AlbumArtist) failed: ", Continue); |
395 QVERIFY(metaDataKeys.contains(metaDataKeyAsString(QtMediaServices::Title))); |
363 QVERIFY(metaDataKeys.contains(metaDataKeyAsString(QtMultimedia::Title))); |
396 } |
364 } |
397 } |
365 } |
398 |
366 |
399 void tst_QMediaObject::setExtendedMetaData() |
367 QString tst_QMediaObject::metaDataKeyAsString(QtMultimedia::MetaData key) const |
400 { |
|
401 QFETCH_GLOBAL(QMediaContent, mediaContent); |
|
402 // qWarning() << mediaContent.canonicalUrl(); |
|
403 QMediaPlayer player; |
|
404 |
|
405 player.setMedia(mediaContent); |
|
406 QTest::qWait(700); |
|
407 const QString title(QLatin1String("Titletest")); |
|
408 |
|
409 if (player.isMetaDataWritable()) { |
|
410 player.setExtendedMetaData(metaDataKeyAsString(QtMediaServices::Title), title); |
|
411 QCOMPARE(player.metaData(QtMediaServices::Title).toString(), title); |
|
412 } |
|
413 } |
|
414 |
|
415 QString tst_QMediaObject::metaDataKeyAsString(QtMediaServices::MetaData key) const |
|
416 { |
368 { |
417 switch(key) { |
369 switch(key) { |
418 case QtMediaServices::Title: return "title"; |
370 case QtMultimedia::Title: return "title"; |
419 case QtMediaServices::AlbumArtist: return "artist"; |
371 case QtMultimedia::AlbumArtist: return "artist"; |
420 case QtMediaServices::Comment: return "comment"; |
372 case QtMultimedia::Comment: return "comment"; |
421 case QtMediaServices::Genre: return "genre"; |
373 case QtMultimedia::Genre: return "genre"; |
422 case QtMediaServices::Year: return "year"; |
374 case QtMultimedia::Year: return "year"; |
423 case QtMediaServices::Copyright: return "copyright"; |
375 case QtMultimedia::Copyright: return "copyright"; |
424 case QtMediaServices::AlbumTitle: return "album"; |
376 case QtMultimedia::AlbumTitle: return "album"; |
425 case QtMediaServices::Composer: return "composer"; |
377 case QtMultimedia::Composer: return "composer"; |
426 case QtMediaServices::TrackNumber: return "albumtrack"; |
378 case QtMultimedia::TrackNumber: return "albumtrack"; |
427 case QtMediaServices::AudioBitRate: return "audiobitrate"; |
379 case QtMultimedia::AudioBitRate: return "audiobitrate"; |
428 case QtMediaServices::VideoBitRate: return "videobitrate"; |
380 case QtMultimedia::VideoBitRate: return "videobitrate"; |
429 case QtMediaServices::Duration: return "duration"; |
381 case QtMultimedia::Duration: return "duration"; |
430 case QtMediaServices::MediaType: return "contenttype"; |
382 case QtMultimedia::MediaType: return "contenttype"; |
431 case QtMediaServices::SubTitle: // TODO: Find the matching metadata keys |
383 case QtMultimedia::SubTitle: // TODO: Find the matching metadata keys |
432 case QtMediaServices::Description: |
384 case QtMultimedia::Description: |
433 case QtMediaServices::Category: |
385 case QtMultimedia::Category: |
434 case QtMediaServices::Date: |
386 case QtMultimedia::Date: |
435 case QtMediaServices::UserRating: |
387 case QtMultimedia::UserRating: |
436 case QtMediaServices::Keywords: |
388 case QtMultimedia::Keywords: |
437 case QtMediaServices::Language: |
389 case QtMultimedia::Language: |
438 case QtMediaServices::Publisher: |
390 case QtMultimedia::Publisher: |
439 case QtMediaServices::ParentalRating: |
391 case QtMultimedia::ParentalRating: |
440 case QtMediaServices::RatingOrganisation: |
392 case QtMultimedia::RatingOrganisation: |
441 case QtMediaServices::Size: |
393 case QtMultimedia::Size: |
442 case QtMediaServices::AudioCodec: |
394 case QtMultimedia::AudioCodec: |
443 case QtMediaServices::AverageLevel: |
395 case QtMultimedia::AverageLevel: |
444 case QtMediaServices::ChannelCount: |
396 case QtMultimedia::ChannelCount: |
445 case QtMediaServices::PeakValue: |
397 case QtMultimedia::PeakValue: |
446 case QtMediaServices::SampleRate: |
398 case QtMultimedia::SampleRate: |
447 case QtMediaServices::Author: |
399 case QtMultimedia::Author: |
448 case QtMediaServices::ContributingArtist: |
400 case QtMultimedia::ContributingArtist: |
449 case QtMediaServices::Conductor: |
401 case QtMultimedia::Conductor: |
450 case QtMediaServices::Lyrics: |
402 case QtMultimedia::Lyrics: |
451 case QtMediaServices::Mood: |
403 case QtMultimedia::Mood: |
452 case QtMediaServices::TrackCount: |
404 case QtMultimedia::TrackCount: |
453 case QtMediaServices::CoverArtUrlSmall: |
405 case QtMultimedia::CoverArtUrlSmall: |
454 case QtMediaServices::CoverArtUrlLarge: |
406 case QtMultimedia::CoverArtUrlLarge: |
455 case QtMediaServices::Resolution: |
407 case QtMultimedia::Resolution: |
456 case QtMediaServices::PixelAspectRatio: |
408 case QtMultimedia::PixelAspectRatio: |
457 case QtMediaServices::VideoFrameRate: |
409 case QtMultimedia::VideoFrameRate: |
458 case QtMediaServices::VideoCodec: |
410 case QtMultimedia::VideoCodec: |
459 case QtMediaServices::PosterUrl: |
411 case QtMultimedia::PosterUrl: |
460 case QtMediaServices::ChapterNumber: |
412 case QtMultimedia::ChapterNumber: |
461 case QtMediaServices::Director: |
413 case QtMultimedia::Director: |
462 case QtMediaServices::LeadPerformer: |
414 case QtMultimedia::LeadPerformer: |
463 case QtMediaServices::Writer: |
415 case QtMultimedia::Writer: |
464 case QtMediaServices::CameraManufacturer: |
416 case QtMultimedia::CameraManufacturer: |
465 case QtMediaServices::CameraModel: |
417 case QtMultimedia::CameraModel: |
466 case QtMediaServices::Event: |
418 case QtMultimedia::Event: |
467 case QtMediaServices::Subject: |
419 case QtMultimedia::Subject: |
468 default: |
420 default: |
469 break; |
421 break; |
470 } |
422 } |
471 |
423 |
472 return QString(); |
424 return QString(); |