JMF 2.0 — API 变化

   

JMF 2.0 文档


 

自 JMF 2.0 Beta 版以来的 API 变化

数据接收器:

  • FileWriterControl、FileWriterListener、FileWriterEvent、EndOfFileEvent、FileSizeLimitReachedEvent 和 FileWritingErrorEvent 已从 API 中删除。
  • 添加了 StreamWriterControl,并基本取代了 FileWriterControl。它不再那么以文件为中心,并且可由输出数据的多路复用器或数据接收器执行。
  • 添加了 DataSinkListener 和 DataSinkEvent。这使任何数据接收器都能发布事件,而不只是将数据写入文件的数据接收器。
  • 添加了 EndOfStreamEvent,并基本取代了 EndOfFileEvent。
  • 添加了 DataSinkErrorEvent,并基本取代了 FileWritingErrorEvent。
  • 不再有具体事件指示已达到流大小限制。

AudioFormat:

  • 添加了一个 computeDuration 方法,它返回基于音频块长度的持续时间。

rtp.SessionManager:

  • 添加了一个新版的 startSession 方法,必要时它用一个名为“localSenderAddress”的新参数提供发送端口控制。

新的接口/对象:

  • 添加了 avax.media.renderer.VisualContainer 接口,用于指示一个可视组件内包含多个可视组件。
  • 添加了 javax.media.protocol.FileTypeDescriptor,它是 ContentDescriptor 的一个子类,用于指示描述文件是一种文件格式。
  • 添加了 javax.media.Drainable 呈现器接口。

从 JMF 2.0 EA 到 JMF 2.0 Beta 版的 API 变化

  • Formatted、Formattable 合并成 javax.media.control.FormatControl。
  • 删除了 FormatChangeException、FormatChangeListener、UnsupportedFormatEvent。
  • 将 Format 从 javax.media.format 移到 javax.media。
  • javax.media.format.audio.* 和 javax.media.format.video.* 移到 javax.media.format.*
  • 更改了 TrackControl 以扩展 FormatControl。
  • 更改了 SizeChangeEvent 以扩展 FormatChangeEvent。
  • 删除了 javax.media.control.CaptureDeviceControl
  • 添加了 javax.media.protocol.CaptureDevice 接口。捕获数据源执行了此接口。
  • 为设置输入输出端口添加了 javax.media.control.PortControl。
  • set/getOutputContentDescriptor 改为 set/getContentDescriptor。
  • 添加了 getSupportedInputFormats、setNumTracks、setInputFormat。
  • 删除了 javax.media.renderer.audio.AudioRenderer。
  • 移动了 javax.media.video.renderer.* javax.media.renderer.*。
  • 删除了 javax.media.util.CloneableDataSource 和 MergingDataSource
  • 添加了 Manager.createCloneableDataSource 和 Manager.createMergingDataSource。
  • 添加了 javax.media.protocol.SourceCloneable 接口。
  • 添加了 setHint 和 getHint。
  • 更改了构造函数、getTrackCount 等。
  • 删除了 readKeyFrame、willReadFrameBlock。
  • 删除了 setPreProcessingEffect 和 setPostProcessingEffect。
  • setCodec 改为 setCodecChain
  • 重新定义了方法。
  • 添加了 replaceURL、showDocument()。
  • 添加了 replaceURL()、showDocument()。
  • ImageConverter 分解成:
    • BufferToImage:将 JMF 缓冲区转换为 JDK 映像。
    • ImageToBuffer:将 JDK 映像转换为 JMF 缓冲区。
  • 重新打包:
    • javax.media.rtp — 包含以前 javax.media.rtp.session 中的大部分类。
    • javax.media.rtp.event — 包含所有 RTP 事件类。
    • javax.media.rtp.rtcp — 包含与 RTCP 相关的类。
  • 名称变化:
    • 大多数 RTP 前缀都已从类名中删除。只有 RTPHeader、RTPSocket 和 RTPEvent 等泛型类名仍带 RTP 前缀。
    • “RECV”缩写已改为“Receive”。
    • RTPIODataSource 更名为 RTPPushDataSource。
    • PushDestStream 更名为 OutputDataStream。
  • 删除了 RTPMediaLocator,取而代之的是标准的 javax.media.MediaLocator。
  • 删除了 MalformedRTPMRLException,取而代之的是标准的 java.net.MalformedURLException。