Media: Store audio creation date in meta.

In [41746], `wp_get_media_creation_timestamp()` was introduced to read the created timestamp for videos from `getID3` in meta whenever possible. This information is useful separately from the dates on the file itself.

This adds the same support audio files by utilizing `wp_get_media_creation_timestamp()` in `wp_read_audio_metadata()`.

Props blob folio, desrosj.
Fixes #42017.

git-svn-id: https://develop.svn.wordpress.org/trunk@44528 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
Jonathan Desrosiers 2019-01-10 01:31:52 +00:00
parent da6021b4f9
commit 25e9a6d249
2 changed files with 24 additions and 1 deletions

View File

@ -3340,7 +3340,7 @@ function wp_read_video_metadata( $file ) {
}
/**
* Retrieve metadata from a audio file's ID3 tags
* Retrieve metadata from an audio file's ID3 tags.
*
* @since 3.6.0
*
@ -3384,6 +3384,14 @@ function wp_read_audio_metadata( $file ) {
$metadata['length_formatted'] = $data['playtime_string'];
}
if ( empty( $metadata['created_timestamp'] ) ) {
$created_timestamp = wp_get_media_creation_timestamp( $data );
if ( false !== $created_timestamp ) {
$metadata['created_timestamp'] = $created_timestamp;
}
}
wp_add_id3_tag_data( $metadata, $data );
return $metadata;

View File

@ -2343,6 +2343,21 @@ EOF;
$this->assertEquals( 1265680539, wp_get_media_creation_timestamp( $metadata ) );
}
/**
* Test created timestamp is properly read from an MP4 file.
*
* This MP4 video file has an AAC audio track, so it can be used to test
*`wp_read_audio_metadata()`.
*
* @ticket 42017
*/
function test_wp_read_audio_metadata_adds_creation_date_with_mp4() {
$video = DIR_TESTDATA . '/uploads/small-video.mp4';
$metadata = wp_read_audio_metadata( $video );
$this->assertEquals( 1269120551, $metadata['created_timestamp'] );
}
/**
* @ticket 35218
*/