mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-04-10 10:04:23 +00:00
asfdemux: Add byte rate based bitrate tag in case there are no audio props
https://bugzilla.gnome.org/show_bug.cgi?id=769418
This commit is contained in:
parent
9f51f72b37
commit
975f147abe
1 changed files with 21 additions and 0 deletions
|
@ -2625,6 +2625,27 @@ gst_asf_demux_add_audio_stream (GstASFDemux * demux,
|
|||
g_free (codec_name);
|
||||
}
|
||||
|
||||
if (audio->byte_rate > 0) {
|
||||
/* Some ASF files have no bitrate props object (often seen with
|
||||
* ASF files that contain raw audio data). Example files can
|
||||
* be generated with FFmpeg (tested with v2.8.6), like this:
|
||||
*
|
||||
* ffmpeg -i sine-wave.wav -c:a pcm_alaw file.asf
|
||||
*
|
||||
* In this case, if audio->byte_rate is nonzero, use that as
|
||||
* the bitrate. */
|
||||
|
||||
guint bitrate = audio->byte_rate * 8;
|
||||
|
||||
if (tags == NULL)
|
||||
tags = gst_tag_list_new_empty ();
|
||||
|
||||
/* Add bitrate, but only if there is none set already, since
|
||||
* this is just a fallback in case there is no bitrate tag
|
||||
* already present */
|
||||
gst_tag_list_add (tags, GST_TAG_MERGE_KEEP, GST_TAG_BITRATE, bitrate, NULL);
|
||||
}
|
||||
|
||||
if (extradata)
|
||||
gst_buffer_unref (extradata);
|
||||
|
||||
|
|
Loading…
Reference in a new issue