�
iY�i� � �� � d dl mZ d dlZd dlmZ d dlZdd�Zdd�Zd
d�Zdd�Z e
dk( r e e ej � � �y# e
$ r!Z eeej � � ed
� �dZ[ww xY w)� )�annotationsN)�Pathc � � y)Nz6usage: python examples/python/file_info.py <input.aac>� r � �examples/python/file_info.py�usager
s � �Cr c � � | �dS t | � S )N�unavailable)�str)�values r �optional_valuer s � �!�M�=�9�s�5�z�9r c �� � |dk( ry d}d}d}|dz t | � k rx| | dk7 s| |dz dz dk7 ry | |dz dz dz | |dz dz z | |d z d
z d z z }|dk s||z t | � kD ry |dz
}||z
}||z
}|dz t | � k r�x|dk( s|t | � k7 ry |t j j k( rd}n"|t j j k( rd}nd
}||z }|dz |z |z S )Nr � �� � �� � � � � �� i i i � )�len�xaac_rs�SbrMode�Enabled�Esbr) �data�sample_rate�sbr_mode�offset�frames�
payload_bytes�frame_length�samples_per_frame�
total_sampless r �estimate_adts_bitrater( sW � ��a���
�F�
�F��M�
�1�*��D� �
!���<�4��D��!��$4�t�$;��#D�� �6�A�:���%�"�
,��F�Q�J��1�$�
&��V�a�Z� �4�'�A�-�
/� �
�!��v��4�s�4�y�@���!�����%�
��,��� �1�*��D� �
!� ��{�f��D� �)���7�?�?�*�*�*� �� �W�_�_�)�)� )� �� ���.�.�M��A���+�
�=�=r c �� � t | � dk7 rt t � � �t | d � }|j � }t j � }|j � }t d|� �� t dt |� � d�� t d|j � d|j � �� t d|j � � d�� |st d � y
t |� } |j |� }t d
|� �� t d|j � d�� t d|j � �� t d|j d��� t d|j � �� t d|j"