diff options
author | prigaux <[email protected]> | 2007-03-06 21:15:55 +0000 |
---|---|---|
committer | prigaux <[email protected]> | 2007-03-06 21:15:55 +0000 |
commit | c4a642b4648d486777af91ccc2894355df447089 (patch) | |
tree | 4ff9eee3e39a530cb649d9db43456e0ab3d712a3 /libhb/ipodutil.cpp | |
parent | ff5ed5d2a2009504f1da3cf348689a59a82b27f1 (diff) |
Merge the 5.1 branch into the trunk.
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@422 b64f7644-9d1e-0410-96f1-a4d463321fa5
Diffstat (limited to 'libhb/ipodutil.cpp')
-rw-r--r-- | libhb/ipodutil.cpp | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/libhb/ipodutil.cpp b/libhb/ipodutil.cpp new file mode 100644 index 000000000..ba37e4768 --- /dev/null +++ b/libhb/ipodutil.cpp @@ -0,0 +1,34 @@ +/* + * MP4 library API functions + * + * These are wrapper functions that provide C linkage conventions + * to the library, and catch any internal errors, ensuring that + * a proper return value is given. + */ + +#include "mp4common.h" + +static u_int8_t ipod_magic[] = { + 0x6b, 0x68, 0x40, 0xf2, 0x5f, 0x24, 0x4f, 0xc5, + 0xba, 0x39, 0xa5, 0x1b, 0xcf, 0x03, 0x23, 0xf3 +}; + +class IPodUUIDAtom : public MP4Atom { +public: + IPodUUIDAtom() : MP4Atom("uuid") + { + SetExtendedType(ipod_magic); + + MP4Integer32Property* value = new MP4Integer32Property("value"); + value->SetValue(1); + AddProperty(value); + } +}; + +extern "C" void AddIPodUUID(MP4FileHandle hFile, MP4TrackId trackId) +{ + MP4Track* track = ((MP4File*)hFile)->GetTrack(trackId); + MP4Atom* avc1 = track->GetTrakAtom()->FindChildAtom("mdia.minf.stbl.stsd.avc1"); + avc1->AddChildAtom(new IPodUUIDAtom()); +} + |