diff --git a/lib/utils.js b/lib/utils.js index f0f64777a..368ad9be6 100644 --- a/lib/utils.js +++ b/lib/utils.js @@ -1293,12 +1293,13 @@ function getWhitelistLogData(meta, oembed, uri) { var ld = meta.ld; if (ld) { - var json = ld.videoobject - || ld.mediaobject - || (ld.newsarticle && (ld.newsarticle.video || ld.newsarticle.videoobject)) - || (ld.tvepisode && (ld.tvepisode.video || ld.tvepisode.videoobject)) - || (ld.movie && (ld.movie.video || ld.movie.videoobject)) - || (ld.tvclip && (ld.tvclip.video || ld.tvclip.videoobject)); + var json = ld.videoobject || ld.mediaobject; + if (!json) { // try to find video attached to main object + var mainObjWithVideo = ld && Object.values(ld).find((obj) => obj.video || obj.videoobject); + if (mainObjWithVideo) { + json = mainObjWithVideo.video || mainObjWithVideo.videoobject; + } + } if (json) { var embedURL = json.embedurl || json.embedUrl || json.embedURL || json.contenturl || json.contentUrl || json.contentURL; diff --git a/plugins/links/embedURL/ld-video.js b/plugins/links/embedURL/ld-video.js index c55bc6f53..f44d83b2f 100644 --- a/plugins/links/embedURL/ld-video.js +++ b/plugins/links/embedURL/ld-video.js @@ -10,12 +10,20 @@ export default { getData: function(ld, whitelistRecord, url) { - var json = ld.videoobject - || ld.mediaobject - || (ld.newsarticle && (ld.newsarticle.video || ld.newsarticle.videoobject)) - || (ld.tvepisode && (ld.tvepisode.video || ld.tvepisode.videoobject)) - || (ld.movie && (ld.movie.video || ld.movie.videoobject)) - || (ld.tvclip && (ld.tvclip.video || ld.tvclip.videoobject)); + var json = ld.videoobject || ld.mediaobject; + + /* + || (ld.newsarticle && (ld.newsarticle.video || ld.newsarticle.videoobject)) + || (ld.tvepisode && (ld.tvepisode.video || ld.tvepisode.videoobject)) + || (ld.movie && (ld.movie.video || ld.movie.videoobject)) + || (ld.tvclip && (ld.tvclip.video || ld.tvclip.videoobject)); + */ + if (!json) { // try to find video attached to main object + var mainObjWithVideo = ld && Object.values(ld).find((obj) => obj.video || obj.videoobject); + if (mainObjWithVideo) { + json = mainObjWithVideo.video || mainObjWithVideo.videoobject; + } + } if (json) {