| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 | #ifndef NULLSOFT_IN_MP4_MAINH#define NULLSOFT_IN_MP4_MAINH#include "mp4.h"#include "../Winamp/in2.h"#include "mpeg4audio.h"#include "mpeg4video.h"#include "AudioSample.h"#include "../nu/AutoLock.h"#include "../nu/VideoClock.h"extern nu::VideoClock video_clock;MP4TrackId GetAudioTrack(MP4FileHandle infile);MP4TrackId GetVideoTrack(MP4FileHandle infile);int GetAACTrack(MP4FileHandle infile);class waServiceFactory;bool CreateVideoDecoder(MP4FileHandle file, MP4TrackId track, MP4VideoDecoder *&decoder, waServiceFactory *&serviceFactory);class MP4AudioDecoder;bool CreateDecoder(MP4FileHandle file, MP4TrackId track, MP4AudioDecoder *&decoder, waServiceFactory *&serviceFactory);void ConfigureDecoderASC(MP4FileHandle file, MP4TrackId track, MP4AudioDecoder *decoder);bool GetCustomMetadata(MP4FileHandle mp4, char *metadata, wchar_t *dest, int destlen, const char *owner=0);float GetGain(MP4FileHandle mp4, bool allowDefault=true);void GetGaps(MP4FileHandle mp4, unsigned __int32 &pre, unsigned __int32 &post);struct ThreadInfoBox{	HWND hwndDlg;	HANDLE completionEvent;};VOID CALLBACK CurrentlyPlayingInfoBox(ULONG_PTR param);extern wchar_t lastfn[MAX_PATH*4];extern HANDLE killEvent, seekEvent, pauseEvent;extern In_Module mod;			// the output module extern MP4FileHandle MP4hFile;extern MP4TrackId audio_track, video_track;class AudioSample;int TryWriteAudio(AudioSample *sample);extern MP4AudioDecoder *audio;extern MP4VideoDecoder *video;extern unsigned int audio_bitrate, video_bitrate;extern MP4SampleId numSamples, numVideoSamples;extern DWORD WINAPI PlayProc(LPVOID lpParameter);extern bool first;extern HANDLE hThread;extern Nullsoft::Utility::LockGuard play_mp4_guard;extern volatile int m_needseek;void CALLBACK Seek(ULONG_PTR data);void CALLBACK Pause(ULONG_PTR data);extern uint32_t m_video_timescale;extern uint32_t m_timescale;extern const wchar_t *defaultExtensions;extern wchar_t m_ini[MAX_PATH];char *BuildExtensions(const char *extensions);extern bool config_show_average_bitrate;void FlushOutput();extern int m_force_seek;MP4Duration GetClock();MP4Duration GetDecodeClock();extern bool audio_chunk;// {B6CB4A7C-A8D0-4c55-8E60-9F7A7A23DA0F}static const GUID playbackConfigGroupGUID =  {    0xb6cb4a7c, 0xa8d0, 0x4c55, { 0x8e, 0x60, 0x9f, 0x7a, 0x7a, 0x23, 0xda, 0xf }  };#endif
 |