mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-09-24 09:27:31 +09:00
[webm] Treat demuxing errors differently than EOS
Otherwise the WebM demuxer makes no difference between a genuine EOS and encountering an error.
This commit is contained in:
parent
dfcff1dfbc
commit
64b9480493
2 changed files with 75 additions and 41 deletions
|
|
@ -111,7 +111,8 @@ public:
|
|||
bool GetOffsetForTime(uint64_t aTime, int64_t* aOffset);
|
||||
|
||||
// Demux next WebM packet and append samples to MediaRawDataQueue
|
||||
bool GetNextPacket(TrackInfo::TrackType aType, MediaRawDataQueue *aSamples);
|
||||
nsresult GetNextPacket(TrackInfo::TrackType aType,
|
||||
MediaRawDataQueue *aSamples);
|
||||
|
||||
nsresult Reset(TrackInfo::TrackType aType);
|
||||
|
||||
|
|
@ -175,11 +176,13 @@ private:
|
|||
// Read a packet from the nestegg file. Returns nullptr if all packets for
|
||||
// the particular track have been read. Pass TrackInfo::kVideoTrack or
|
||||
// TrackInfo::kVideoTrack to indicate the type of the packet we want to read.
|
||||
RefPtr<NesteggPacketHolder> NextPacket(TrackInfo::TrackType aType);
|
||||
nsresult NextPacket(TrackInfo::TrackType aType,
|
||||
RefPtr<NesteggPacketHolder>& aPacket);
|
||||
|
||||
// Internal method that demuxes the next packet from the stream. The caller
|
||||
// is responsible for making sure it doesn't get lost.
|
||||
RefPtr<NesteggPacketHolder> DemuxPacket(TrackInfo::TrackType aType);
|
||||
nsresult DemuxPacket(TrackInfo::TrackType aType,
|
||||
RefPtr<NesteggPacketHolder>& aPacket);
|
||||
|
||||
// libnestegg audio and video context for webm container.
|
||||
// Access on reader's thread only.
|
||||
|
|
@ -275,7 +278,7 @@ private:
|
|||
~WebMTrackDemuxer();
|
||||
void UpdateSamples(nsTArray<RefPtr<MediaRawData>>& aSamples);
|
||||
void SetNextKeyFrameTime();
|
||||
RefPtr<MediaRawData> NextSample ();
|
||||
nsresult NextSample(RefPtr<MediaRawData>& aData);
|
||||
RefPtr<WebMDemuxer> mParent;
|
||||
TrackInfo::TrackType mType;
|
||||
UniquePtr<TrackInfo> mInfo;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue